Filter löschen
Filter löschen

Delete Rows that have a negative number in their first column.

14 Ansichten (letzte 30 Tage)
Hi, I have a 5x2 matrix like this:
A=[-1 2;2 -4;-5 9;-3 7;8 6;]
Now I want a code to delete rows that have negative value in their first column. so the output will be this matrix: newA=[2 -4;8 6;]
tnx.

Akzeptierte Antwort

Paulo Silva
Paulo Silva am 10 Aug. 2011
A=[-1 2;2 -4;-5 9;-3 7;8 6]
%find the rows that we don't want, remove them and show the rest
A(A(:,1)<0,:)=[]
another way
A(A(:,1)>=0,:) %find and show only the rows that we want

Weitere Antworten (2)

Fangjun Jiang
Fangjun Jiang am 10 Aug. 2011
A=[-1 2;2 -4;-5 9;-3 7;8 6;]
Index=A(:,1)<0;
NewA=A(~Index,:)
Or, a one-liner:
A=[-1 2;2 -4;-5 9;-3 7;8 6;]
A(A(:,1)<0,:)=[]

Hajik zagori
Hajik zagori am 10 Aug. 2011
Thanks Paulo and Fangjun. :X Both of your answers worked perfectly.

Community Treasure Hunt

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

Start Hunting!

Translated by