Multiply each slice of 3d matrix with 2d matrix

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

How is this possible? (11x10) by (32x8760)
I'm sorry for the confusion.
I ment each (1x1x32) by (32x8760).
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?

Sign in to comment.

Answers (1)

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

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)
No, the size of out1 is 110x8760
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?

Sign in to comment.

Categories

Asked:

on 15 Mar 2014

Commented:

on 10 Mar 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!