MATLAB:更快地预分配零矩阵

Fre*_*d S 2 matlab loops memory-management

/ edit:有关该主题的有趣讨论,请参阅此处.谢谢@Dan


使用a(m,n) = 0的似乎更快,这取决于基体的大小aa = zeros(m,n).在循环之前进行预分配时,两种变体是否相同?

Den*_*din 5

他们肯定是不一样的.

虽然有很多方法可以击败性能a=zeros(m,n),但简单地做a(m,n) = 0就不是一种安全的方法.如果a已经存在任何条目,它们将保持存在.

看看这个有一些不错的选择,如果你不介意风险,也可以考虑向后循环.