Problem with find and logical array

1 回表示 (過去 30 日間)
Urvashi
Urvashi 2014 年 6 月 6 日
編集済み: Urvashi 2014 年 6 月 6 日
Hi,
I have a matrix with the values : A = [260,343; 344,433; 434,530; 531,631; 632,723];
where A(:,1) is the lower range and A(:,2) = upper range for each row. I am trying to find the index of A where a number may exist within the upper and lower range.
For ex. I tried B = (443 > A(:,1) & A(:,2) > 443) to check in which row the number 443 would lie, but got the ans as 0, even though when B comes as = [0,0,1,0,0]. I performed index = find(B),
I am probably doing something stupid. What am I doing wrong?
Thanks, Urvashi
  3 件のコメント
Urvashi
Urvashi 2014 年 6 月 6 日
I know. I will download 'find' again. May be it's a problem with my function
Geoff Hayes
Geoff Hayes 2014 年 6 月 6 日
What do you mean by "download 'find' again"? Are you using a different version of find from the built-in one?

サインインしてコメントする。

採用された回答

Sara
Sara 2014 年 6 月 6 日
編集済み: Sara 2014 年 6 月 6 日
You could do:
B = find(443 > A(:,1) & A(:,2) > 443);
B is the row or rows where the condition is satisfied.
  2 件のコメント
Urvashi
Urvashi 2014 年 6 月 6 日
I did that too, and still got the answer as B = 0. There might be something wrong with the function 'find' in my version. I should probably download it again.
Sara
Sara 2014 年 6 月 6 日
Yeah, could be, because everybody here is getting the right result.

サインインしてコメントする。

その他の回答 (2 件)

Image Analyst
Image Analyst 2014 年 6 月 6 日
I don't see any problem:
A = [260,343; 344,433; 434,530; 531,631; 632,723]
targetValue = 443
logicalRowsInRange = (targetValue > A(:,1) & A(:,2) > targetValue)
rowInRange = find(logicalRowsInRange)
A =
260 343
344 433
434 530
531 631
632 723
targetValue =
443
logicalRowsInRange =
0
0
1
0
0
rowInRange =
3

Urvashi
Urvashi 2014 年 6 月 6 日
編集済み: Urvashi 2014 年 6 月 6 日
Yeah, thanks a lot. It worked. I had missed a ) in one of my previous statements of find, so find ended up being an empty matrix. And I didn't realize that the variable find was generated as there was a huge list of variables being generated during the program run.
My bad. Really, my bad.

カテゴリ

Help Center および File ExchangeDownloads についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by