Delete rows and cols of a sparse matrix

9 vues (au cours des 30 derniers jours)
Kris zenitis
Kris zenitis le 10 Juin 2014
Commenté : Matt J le 10 Juin 2014
I ve got a nx3 matrix, which correspont to a nxn sparse matrix with a x,y and the weight z. I want in a for loop to find and delete specific x, y. For example I want iterative to delete from 1 to n the first column and row the second row and column until the nth row and column in order to create n-1 matrices with (n-1 rows and columns). How can I look inside the sparse representatino of the matrix in order to do such a thing?

Réponses (1)

Matt J
Matt J le 10 Juin 2014
Modifié(e) : Matt J le 10 Juin 2014
S=sparse(x,y,z);
C=cell(1,n-1);
tmp=S;
for i=1:n
tmp(1,:)=[];
tmp(:,1)=[];
C{i}=tmp;
end
  1 commentaire
Matt J
Matt J le 10 Juin 2014
Or, to have the results in the original three-column form
for i=1:n
tmp(1,:)=[];
tmp(:,1)=[];
[i,j,s]=find(tmp);
C{i}=[i,j,s];
end

Connectez-vous pour commenter.

Catégories

En savoir plus sur Sparse Matrices dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by