Matlab中的双重系列

时间:2013-02-11 18:22:25

标签: sum double matlab series

我是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 

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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

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

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

sum(sum(mat1.*mat2))