2017-02-28 81 views
0

我想知道如何在MATLAB矢量化這個代碼,以避免使用循環:矢量一個求和3D陣列的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陣列。

謝謝。

回答

4

你應該能夠直接做

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

或刪除第一維:

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

這是完美的,謝謝! – user41037

+2

@ user41037如果它褻瀆了你的問題,請考慮接受他的回答。 –