how to find zero value with find

조회 수: 66(최근 30일)
alize beemiel
alize beemiel 2022년 2월 1일
댓글: alize beemiel 2022년 2월 1일
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?

답변(3개)

Image Analyst
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)
rows = 20×1
1 2 3 4 6 7 8 9 1 3
columns = 20×1
1 1 1 1 1 1 1 1 2 2
  댓글 수: 3
alize beemiel
alize beemiel 2022년 2월 1일
thank you sir
very interesting all of this

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


Turlough Hughes
Turlough Hughes 2022년 2월 1일
Try the following:
find(BC==0)
or
find(~BC)
  댓글 수: 4
alize beemiel
alize beemiel 2022년 2월 1일
thank you too for your answering
all this informations are very helpfull
thanks very much

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


Les Beckham
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)'
i_want = 1×20
1 2 3 4 6 7 8 9 10 11 16 17 19 20 21 22 24 25 26 27
  댓글 수: 2
alize beemiel
alize beemiel 2022년 2월 1일
oh
thank you very much
so easy ..
thanks very much
for all your helpfull

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

범주

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!

Translated by