-1

我是 MATLAB 新手。我想解决以下表示为“A”的双重求和。

A= sigma(j=1..n)sigma(k=1..m)x1_ik((x2_ijk - x3_ij(k-1))^2)

我不明白循环是解决解决方案或其他问题的好方法。似乎 Matlab 没有任何用于双重求和的内置函数。我用于双重求和的内容:

sum2=0;
  for i=1:10
      for j=1:10  
         sum2=sum2+(i*j);
       end
   end 

谢谢您的帮助。

4

1 回答 1

1

矢量化代码在 Matlab 中通常更快。您的循环可以像这样矢量化:

vec1 = 1:10;
vec2 = 1:10;

mat1 = repmat(vec1',1,length(vec2));
mat2 = repmat(vec2,length(vec1),1);

sum(sum(mat1.*mat2))
于 2013-03-14T01:52:15.183 回答