Multiply each slice of 3d matrix with 2d matrix
Show older comments
Hi,
I have to matrices: A=11x10x32 B=32x8760
I want to ultiply each 11x10x1 slice of matrix A with Matrix B.
What's the best way to to this?
Thank you so much!
3 Comments
Azzi Abdelmalek
on 15 Mar 2014
How is this possible? (11x10) by (32x8760)
Christoph
on 15 Mar 2014
Image Analyst
on 15 Mar 2014
Really? This is the correction? OK, now I'll ask, how are you going to multiply a 3 dimensional 1x1x32 column vector by a 2 dimensional 32x8760 matrix?
Answers (1)
Azzi Abdelmalek
on 15 Mar 2014
A=rand(11,10,32);
b=rand(32,8760);
AA=permute(A,[1 3 2])
for k=1:size(AA,3)
out{k,1}=AA(:,:,k)*b;
end
out1=cell2mat(out)
3 Comments
Philipp Sikamikanico
on 15 Mar 2014
thank's a lot!
the output is an (1024x8760) array.
can you just give me an idea how to interpret this with regards to A (11x10x32)
Azzi Abdelmalek
on 15 Mar 2014
No, the size of out1 is 110x8760
neda rojhani
on 10 Mar 2017
Hi, I have problem after finding out1. if I would like to convert the result to the mentioned matrix(A(11 * 10 *32) What should I do?
Categories
Find more on Resizing and Reshaping Matrices 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!