multiplication of a 3-D matrix by a 1-D array
2 views (last 30 days)
Show older comments
I have a 3-D matrix A = rand(sz1,sz2,sz3) and a 1-D array B = rand(1,sz3).
Is there a biult-in function to do the muliplication like:
C with dimensions of (sz1,sz2,sz3)
for ii = 1:sz3
C(:,:,ii)=A(:,:,ii)*B(ii);
end
0 Comments
Accepted Answer
Stephen23
on 8 Oct 2022
You don't need a special kind of multiplication, you just need to match the vector orientation to the array:
C = A .* reshape(B,1,1,[])
2 Comments
Stephen23
on 11 Oct 2022
Edited: Stephen23
on 11 Oct 2022
"I checked the matlab documentation for .* and did not find an answer for the question below."
The TIMES documentation states:
"In your answer, the 2 matrices have different dimensions and the element-wise multiplication works, why?"
Clicking the link given in the TIMES documentation takes you to this page:
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!