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

조회 수: 15 (최근 30일)
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.

채택된 답변

Paulo Silva
Paulo Silva 2011년 8월 10일
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

추가 답변 (2개)

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

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by