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.

 Respuesta aceptada

i=discretize(value,X)
j = i+1
X([i,j])

1 comentario

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

Iniciar sesión para comentar.

Más respuestas (1)

Matt J
Matt J el 10 de Sept. de 2020
Editada: Matt J el 10 de Sept. de 2020
i = interp1(X,1:numel(X),value,'previous')
j = i+1
X([i,j])

Categorías

Preguntada:

el 10 de Sept. de 2020

Comentada:

el 10 de Sept. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by