How to determine the two closest values to a threshold value

14 views (last 30 days)
Hi! I have a threshold value of 0.9 and I need to find its two closest values in a matrix.
Below is a simple example of what my question is based on. Is there a way to determine the previous y value before 0.9 (0.88 in the example) and the next value after (0.92)?
y = [0, 0.2 , 0.6, 0.88, 0.92, 1]
(Note* this is only an example matrix. The matrix values will be different every run)

Accepted Answer

hosein Javan
hosein Javan on 11 Aug 2020
Edited: hosein Javan on 11 Aug 2020
%% nearest value considerin it is bigger or smaller than threshold
m1 = min(y(y>0.9)) % nearest value after threshold
m2 = max(y(y<0.9)) % nearest value before threshold
%% nearest value regardless of being bigger or smaller than threshold
[~,i] = sort(abs(y-0.9));
m1 = y(i(1)) % 1st nearest value
m2 = y(i(2)) % 2nd nearest value

More Answers (0)

Categories

Find more on Develop Apps Using App Designer 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!