how to find zero value with find
조회 수: 66(최근 30일)
표시 이전 댓글
BC =[0 0 0
0 1 0
0 0 0
0 0 1
1 1 1
0 0 1
0 0 0
0 1 0
0 0 0]
U=1-BC
f=find(U);
and f is
f =[1 2 3 4 6 7 8 9 10 12 13 15 16 18 19 20 21 25 26 27]
but I was confused because it's clear that the exact value is
and this is what I want to have
i_want=[1 2 3 4 6 7 8 9 10 11 16 17 19 20 21 22 24 25 26 27]
Can someone help me Where is my mistake?
댓글 수: 0
답변(3개)
Image Analyst
2022년 2월 1일
Try this. It will give you two vectors, rows and columns, which are the row and column location that the corresponding zero can be found at in the original matrix.
BC =[0 0 0
0 1 0
0 0 0
0 0 1
1 1 1
0 0 1
0 0 0
0 1 0
0 0 0];
[rows, columns] = find(BC == 0)
Les Beckham
2022년 2월 1일
편집: Les Beckham
2022년 2월 1일
Matlab will index down the columns first. It appears that you want to go across the rows first.
So, just transpose the matrix.
BC =[0 0 0
0 1 0
0 0 0
0 0 1
1 1 1
0 0 1
0 0 0
0 1 0
0 0 0];
i_want = find(BC' == 0)'
참고 항목
범주
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!