这个问题是基于这个问题的讨论.我之前一直在使用稀疏矩阵,我相信我使用它们的方式很有效.
我的问题是双重的:
在下面,A = full(S)其中S是稀疏矩阵.
也就是说,稀疏等价物var = A(row, col)是什么?
我对这个话题的看法:你不会做任何不同的事情.var = S(row, col)尽可能高效.我在这方面受到了以下解释的挑战:
按照你所说的方式访问第2行和第2列的元素,S(2,2)与添加新元素相同:
var = S(2,2)=>A = full(S)=>var = A(2,2)=>S = sparse(A) => 4.
这句话真的可以说对吗?
也就是说,稀疏等价物会A(row, col) = var是什么?(假设A(row, col) == 0开始)
众所周知,A(row, col) = var对于大型稀疏矩阵来说,简单地做就很慢.从文档:
如果要更改此矩阵中的值,可能会尝试使用相同的索引:
B(3,1)= 42; %此代码确实有效,但速度很慢.
我对这个主题的看法:当使用稀疏矩阵时,你经常从向量开始并使用它们以这种方式创建矩阵:S = sparse(i,j,s,m,n).当然,您也可以像这样创建它:S = sparse(A)或者sprand(m,n,density) …