My code needs to in a loop modify the elements of a sparse matrix. Doing this matlab warns me that
This sparse indexing expression is likely to be slow. I am preallocating the sparse arrays using the
Spalloc 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
inds 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.
更多...