三维数组Matlab中和的矢量化

时间:2017-02-28 19:52:04

标签: matlab

我想知道如何在MATLAB中对这段代码进行矢量化,以避免使用循环:

for i=1:n1
for j=1:n2
A(i,j) = sum(B(:,i,j).*C(:,i,j));
end
end

其中A是大小为n1 * n2的矩阵,B,C是3D数组。

谢谢。

1 个答案:

答案 0 :(得分:3)

你应该可以直接这样做

A = sum(B.*C,1);

或删除第一个维度:

A = squeeze(sum(B.*C,1));