Cody

# Problem 2237. Mmm! Multi-dimensional Matrix Multiplication

Solution 414486

Submitted on 6 Mar 2014
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
%% A = 1; B = 2; C = mtimesm(A,B); C_correct = 2; assert(isequal(C,C_correct))

2   Pass
%% A = rand(2,3); B = rand(3,4); C = mtimesm(A,B); C_correct = A*B; assert(isequal(C,C_correct))

3   Pass
%% A = rand(2,3); B = 2; C = mtimesm(A,B); C_correct = 2*A; assert(isequal(C,C_correct))

4   Fail
%% A = rand(2,3,2); B = rand(3,4,2); C = mtimesm(A,B); C_correct = cat(3,A(:,:,1)*B(:,:,1),A(:,:,2)*B(:,:,2)); assert(isequal(C,C_correct))

Error: Index exceeds matrix dimensions.

5   Fail
%% A = rand(2,3,3); B = rand(3,4); C = mtimesm(A,B); C_correct = cat(3,A(:,:,1)*B,A(:,:,2)*B); assert(isequal(C,C_correct))

Error: Index exceeds matrix dimensions.

6   Fail
%% A = rand(4,3,1,2); B = rand(3,2,2); C = mtimesm(A,B); C_correct(:,:,1,1) = A(:,:,1,1)*B(:,:,1); C_correct(:,:,1,2) = A(:,:,1,2)*B(:,:,1); C_correct(:,:,2,1) = A(:,:,1,1)*B(:,:,2); C_correct(:,:,2,2) = A(:,:,1,2)*B(:,:,2); assert(isequal(C,C_correct))

Error: Index exceeds matrix dimensions.

7   Fail
%% A = rand(4,3,1,2); B = rand(3,2,1,1,2); C = mtimesm(A,B); C_correct(:,:,1,1,1) = A(:,:,1,1)*B(:,:,1,1,1); C_correct(:,:,1,1,2) = A(:,:,1,1)*B(:,:,1,1,2); C_correct(:,:,1,2,1) = A(:,:,1,2)*B(:,:,1,1,1); C_correct(:,:,1,2,2) = A(:,:,1,2)*B(:,:,1,1,2); assert(isequal(C,C_correct))

Error: Index exceeds matrix dimensions.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!