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

17 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Paulo Silva
Paulo Silva il 10 Ago 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

Più risposte (2)

Fangjun Jiang
Fangjun Jiang il 10 Ago 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 il 10 Ago 2011
Thanks Paulo and Fangjun. :X Both of your answers worked perfectly.

Categorie

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

Community Treasure Hunt

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

Start Hunting!

Translated by