Sparse metrix higher value as input value
1 次查看(过去 30 天)
显示 更早的评论
I want to create a sparse matrix and then sort it. But after initialisation, the highest value in the sparse matrix is higher than the highest input value.
load('inputs.mat');
vertexFaceConnectivity=sparse(F(:),ind,ind,numVertices,numFaces);
vertexFaceConnectivity=sort(vertexFaceConnectivity,2,'descend');
max(vertexFaceConnectivity(:)) % 3658
0 个评论
回答(1 个)
Harald
2023-11-13
Hi Frederic,
you may not be using sparse the way you intend. In this syntax, the third input is the values of the sparse matrix. Perhaps, you wanted something more like
vertexFaceConnectivity=sparse(ind,ind,F(:),numVertices,numFaces);
Since ind repeats values, that however would mean that you are setting the same values repeatedly - is that intended?. sparse then sums those values, as you can see in this mini-example:
ind = [1 2 3 1 2 3];
F = 1:6;
sparse(ind, ind, F)
If I had to guess, I would think that you intended to create a tri-diagonal matrix? I would use spdiags for that.
Best wishes,
Harald
0 个评论
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!