假设我有很多(大约1000个)大型矩阵(大约1000乘1000)并且我想将它们一起添加到元素中。非常天真的方法是使用临时变量并在循环中累积。例如,
summ=0;
for ii=1:20
for jj=1:20
summ=summ+ rand(400);
end
end
在互联网上搜索了一段时间之后,有人说在sum()的帮助下做得更好。例如,
sump=zeros(400,400,400);
count=0;
for ii=1:20
for j=1:20
count=count+1;
sump(:,:,count)=rand(400);
end
end
sum(sump,3);
然而,在我测试了两种方法后,结果是
Elapsed time is 0.780819 seconds.
Elapsed time is 1.085279 seconds.
这意味着第二种方法更糟糕。
所以我只是想知道是否有任何有效的方法来添加?假设我正在使用具有超大内存和GTX 1080的计算机(CUDA可能会有所帮助,但我不知道是否值得这样做,因为通信也需要时间。)
感谢您的时间!任何回复都将受到高度赞赏!