Finding a value, index which lies between 2 points in an array

Hello fellow MATLAB users,
I am currently writing a MATLAB function for which I need some help.
For example:
I have an array and a value:
X = [0, 10, 20];
value = 17;
I need to find the indices of the X in which the value lies:
Here the answer will be X[2] and X[3].
But I am not sure how to do this. I would really appreciate any help I can get.
Thank You.

 Akzeptierte Antwort

Matt J
Matt J am 10 Sep. 2020
i=discretize(value,X)
j = i+1
X([i,j])

1 Kommentar

Actually both of the answers work. I am gonna have to look up the functions discretize and interp1

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Matt J
Matt J am 10 Sep. 2020
Bearbeitet: Matt J am 10 Sep. 2020
i = interp1(X,1:numel(X),value,'previous')
j = i+1
X([i,j])

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by