MATLAB: Code for Multiple Matrix Multiplication

MATLABmatrixmatrix multiplication

I have 'n' number of two dimensional(square) matrices. I have stored them as stack in a single three dimensional matrix. How can I perform series of matrix multiplication from 1 to n matrices without explicitly writing the whole line?
n=3;
a,b,c; % Three 2d matrices with same dimension
T(:,:,1) = a;
T(:,:,2) = b;
T(:,:,3) = c;
ans = T(:,:,1)*T(:,:,2)*T(:,:,3);% Explicitly performing matrix multiplication

Best Answer

  • >> T=randi(9,4,4,3); % fake data
    >> T(:,:,1)*T(:,:,2)*T(:,:,3) % your approach
    ans =
    2359 1398 2072 2154
    1788 1103 1625 1734
    1731 1137 1653 1808
    2154 1282 1849 1995
    >> M=1; for k=1:size(T,3), M=M*T(:,:,k); end % simple loop
    >> M
    M =
    2359 1398 2072 2154
    1788 1103 1625 1734
    1731 1137 1653 1808
    2154 1282 1849 1995