Multiplying layers of a 3D matrix

I am attempting to multiply each layer of a 2x2x4 matrix together. i.e. the first layer will be (:,:,1)...therefore Z(:,:,1)=X(:,:,1)*Y(:,:,1)...and so on until i reach the fourth layer.

The for loop is a simple way of visualising this problem, but Im trying to speed up the code by vectorising and im at a loss as to how to go about this.

Could someone be as kind as to point me in the right direction? Any further questions/ discussion are very welcome.

Quote:

X = rand(2,2,4)

Y = rand(2,2,4)

Z = zeros(2,2,4)

for i = 1 : 4

Z(:,:,i) = X(:,:,i)*Y(:,:,i)

end

Re: Multiplying layers of a 3D matrix

Quote:

Originally Posted by

**p123nky** I am attempting to multiply each layer of a 2x2x4 matrix together. i.e. the first layer will be (:,:,1)...therefore Z(:,:,1)=X(:,:,1)*Y(:,:,1)...and so on until i reach the fourth layer.

The for loop is a simple way of visualising this problem, but Im trying to speed up the code by vectorising and im at a loss as to how to go about this.

Could someone be as kind as to point me in the right direction? Any further questions/ discussion are very welcome.

I could be wrong, but I don't think you are going to significantly improve on that, but you could try asking on a specialised Matlab forum such as: Newsreader - MATLAB Central