MATLAB: Find values between constants in vector

find

I have a vector freq_n where I want to find the indices corresponding to values between a and b.
freq_in-10*delta_f <= freq_n <= freq_in+10*delta_f
How would I go about doing this? The find() function seems to only allow one relational operator, unless I am doing something wrong? thanks!

Best Answer

  • idx = X >= a & X <= b;
    where X is your vector, a is the lower bound, b is the upper bound. This will be their logical values. If you want numerical indices:
    find(idx)