如何将矢量和3D矩阵相乘

时间:2017-02-06 14:09:07

标签: matlab performance matrix matrix-multiplication

我有一个20 x 1的矢量Amp,以及一个3D矩阵M 100乘20 x 100。 我想将Amp的每个元素乘以M中的相应切片。 我已经通过for循环实现了这个目的:

Result = zeros(100,20,100);
for i=1:20
   Result(:,i,:) = Amp(i)*M(:,i,:);
end 

但是我想知道是否还有更快的速度。 提前致谢

1 个答案:

答案 0 :(得分:1)

以下是:

Result = bsxfun(@times,Amp.',M);