I want to delete rows that contain element of value 0
for example in the following matrix B
row 3, 4 ,5 contains a zero valued element. So I want to delete these rows and the resultant matrix would be 2*3 .
How can I remove these particular rows
120 150 200
250 300 350
420 450 0
0 100 400
450 0 420

 채택된 답변

ANKUR KUMAR
ANKUR KUMAR 2021년 3월 10일
편집: ANKUR KUMAR 2021년 3월 10일

0 개 추천

A=[120 150 200
250 300 350
420 450 0
0 100 400
450 0 420]
index=find(nanmean(A==0,2))
A(index,:)=[]
Below is the output of index and A (after removing the rows having zero value)
index =
3
4
5
A =
120 150 200
250 300 350

댓글 수: 4

Mohammad Juned
Mohammad Juned 2021년 3월 10일
Thanks ANKUR KUMAR
ANKUR KUMAR
ANKUR KUMAR 2021년 3월 10일
You asked in an another comment the reason behind using 2 in the line second line of code. Here is the reason just for your clarification:
2 is used because we are considering the second dimension of a matrix.
If you wish to do the same calucluation along columns, you can put 1 in place of 2 to get the column index having zero values in any of the available rows.
Hope this helps.
Mohammad Juned
Mohammad Juned 2021년 3월 10일
ANKUR KUMAR I want to know why 2 is used in index=find(nanmean(A==0,2))
Mohammad Juned
Mohammad Juned 2021년 3월 10일
Thank you ANKUR KUMAR

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

릴리스

R2014a

질문:

2021년 3월 10일

댓글:

2021년 3월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by