Filter löschen
Filter löschen

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

3 Ansichten (letzte 30 Tage)
Hello,
How can I delete columns of a matrix that have fewer than 3 non-zero elements? Thank you!
  4 Kommentare
osminbas
osminbas am 1 Mär. 2012
Yes, that is what I meant. Fewer than 3 non-zero elements.
osminbas
osminbas am 1 Mär. 2012
I can define it as matrix A is 5x5. Say two columns (column 1 and 3) have only 2 non-zero elements.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Wayne King
Wayne King am 1 Mär. 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 Kommentar
osminbas
osminbas am 1 Mär. 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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by