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에서 Mathematics and Optimization에 대해 자세히 알아보기

제품

릴리스

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