如何向量化数组求和的循环?

问题描述

我有以下 for 循环,我正在尝试矢量化但我被卡住了,或者我拒绝了它无法矢量化的事实。下面是代码

clear all;
element = 0;
iteration = 0;
iterations = 2;
innerloop = 0;
array_length = 10;
maxi=10;
suma = 0.0;
array=zeros(1,array_length);
tic
for element = 1:array_length
array(1,element) = element-1;
endfor
toc
tic
for iteration = 1 : iterations
 for innerloop = 1 : maxi
 suma = suma + array(1+mod((iteration-1+innerloop-1),array_length));
 endfor
endfor
toc

下面是我对上述算法的矢量化尝试,

tic
array=(0:array_length-1);
toc
tic
iteration=(0:iterations-1)
innerloop=(0:maxi-1)
(mod(iteration1'+innerloop1,array_length)) %stuck here
toc

我无法通过在标记%stuck here 的行中分配数组和 suma 来进一步矢量化。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)