Azzera filtri
Azzera filtri

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

3 visualizzazioni (ultimi 30 giorni)
Hello,
How can I delete columns of a matrix that have fewer than 3 non-zero elements? Thank you!
  4 Commenti
osminbas
osminbas il 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.

Accedi per commentare.

Risposta accettata

Wayne King
Wayne King il 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 Commento
osminbas
osminbas il 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!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by