![]() |
Optimal way of doing iterative assembly of sparse matrices in Matlab?
My code needs to in a loop modify the elements of a sparse matrix. Doing this matlab warns me that [B]This sparse indexing expression is likely to be slow[/B]. I am preallocating the sparse arrays using the [I]Spalloc[/I] function but am still getting this warning. What is the optimal approach for assembling of sparse matrices? This is what I am currently doing.
K=spalloc(n,n,100); f=spalloc(n,1,100);for i = 1:Nel [Ke,fe] = myFunction(Ex(i),Ey(i)); inds = data(i,2:end); K(inds,inds) = K(inds,inds) + Ke; f(inds) = f(inds)+fe; endthe indices in [B]inds[/B] may be appear several times in the loop, meaning an element in K or f may receive multiple contributions. The last two lines within the loop are where I'm getting warnings. [url=https://stackoverflow.com/questions/59007071/optimal-way-of-doing-iterative-assembly-of-sparse-matrices-in-matlab]更多...[/url] |
所有时间均为北京时间。现在的时间是 18:17。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.