MATLAB: I have to multiply 3*3 and 3*1 array. i am getting error using “curvature​qi=bsxfun(​@times,q,c​urvature);​” this is giving 3*3 matrix but i need 3*1 matrix in every layer or loop. please help

array multiplicationMATLABmatrix manupulation matrix multiplication

q = [3*3] Matrix where q = q(:,:,1:20)
curvature = [3*1] Matrix where curvature is single matrix.

Best Answer

T = arrayfun(@(pane) q(:,:,pane) * curvature, 1 : size(q,3), 'Uniform', 0);
curvatureqi = cell2mat( reshape(T,1,1,size(q,3)) );