MATLAB: Help with multiplying matrix


Hi, I have 100 6*6 matrices and one 1*100 matrices. i want to multiply the number on the 1×100 matrices with the corresponding 6×6 matrices as shown in the picture below. how can i do that?
thanks for the help

Best Answer

  • If you use a recent version of MATLAB which support implicit array expansion
    M; % 6x6x100 matrix
    v; % 1x100 vector
    M_new = M.*reshape(v, 1, 1, []);
    on older versions
    M_new = bsxfun(@times, M, reshape(A,1,1,[]))