我在Matlab R2016a中使用了一个优化工具箱。但它运行得很慢。我发现当稀疏矩阵的大小超过100000时,主要原因是稀疏矩阵索引操作。
在工具箱的功能中,首先为空间分配稀疏矩阵Jcon
。
Jcon = spalloc(nrows,ncols,nnonzeros);
然后其他一些代码计算类似衍生物的东西。最后,使用以下代码将一些新的enties插入Jcon
Jcon(link_row(ii),col0Right) = DLink.x0_right(ii,jj);
ii
和jj
是循环变量。右手边通常是4到30行的colume vactor。在插入操作期间,Jcon
的大小也可能会发生变化。
如何改善内容部分?是否可以使用C ++替换稀疏矩阵插入?它会是quiker吗?