Effacer les filtres
Effacer les filtres

How to delete columns of a matrix that have fewer than 3 non-zero elements

3 vues (au cours des 30 derniers jours)
Hello,
How can I delete columns of a matrix that have fewer than 3 non-zero elements? Thank you!
  4 commentaires
osminbas
osminbas le 1 Mar 2012
Yes, that is what I meant. Fewer than 3 non-zero elements.
osminbas
osminbas le 1 Mar 2012
I can define it as matrix A is 5x5. Say two columns (column 1 and 3) have only 2 non-zero elements.

Connectez-vous pour commenter.

Réponse acceptée

Wayne King
Wayne King le 1 Mar 2012
Hi, I'm sure this isn't the most efficient way:
x =[
5 0 1 4 1
3 0 0 2 1
1 0 2 2 4
4 3 0 2 3
4 2 0 1 3];
for nn =1:size(x,2)
numz(nn) = length(find(x(:,nn)==0));
end
x(:,numz>2) = [];
  1 commentaire
osminbas
osminbas le 1 Mar 2012
Actually I did this:
for nn =1:size(x,2)
numz(nn)=length(find(x(:,nn)~=0));
end
x(:,numz<3)=[];
It worked! Thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by