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

1 visualizzazione (ultimi 30 giorni)
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.

Risposta accettata

Matt J
Matt J il 10 Set 2020
i=discretize(value,X)
j = i+1
X([i,j])
  1 Commento
Yash Runwal
Yash Runwal il 10 Set 2020
Actually both of the answers work. I am gonna have to look up the functions discretize and interp1

Accedi per commentare.

Più risposte (1)

Matt J
Matt J il 10 Set 2020
Modificato: Matt J il 10 Set 2020
i = interp1(X,1:numel(X),value,'previous')
j = i+1
X([i,j])

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by