How to find index range of range of values in an array

46 views (last 30 days)
I have an array of one row and 163495 columns. The values in this array range from 0-160. I am trying to find the indices that the values are from 69-72. When I use the find x==69, it computes out an empty array.
  1 Comment
jess Kapin
jess Kapin on 5 Apr 2021
It works for any integers (0 and 160 in this case) but I cannot use it for any non-integers

Sign in to comment.

Answers (1)

Are Mjaavatten
Are Mjaavatten on 5 Apr 2021
i = find(x>=69 & x<=72);;
  2 Comments
jess Kapin
jess Kapin on 5 Apr 2021
this results in: i = 1×0 empty double row vector
and when I click on the vector it just says val =
and the rest is blank.
I think this may be because they are not integers? So they are not exactly 69 and 72?
Are Mjaavatten
Are Mjaavatten on 6 Apr 2021
My suggestion should work for both integers and non-integers. As a demonstration, try:
y = 60:0.3:80;
i = find(y>=69 & y<=72)
y(i)
Your result seems to indicate that x contains no values in the specified range.
Are you sure x contains what you think? Try, e.g.;
x(1:100)
to see if the values look right.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!