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

1 vue (au cours des 30 derniers jours)
Yash Runwal
Yash Runwal le 10 Sep 2020
Commenté : Yash Runwal le 10 Sep 2020
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.

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (1)

Matt J
Matt J le 10 Sep 2020
Modifié(e) : Matt J le 10 Sep 2020
i = interp1(X,1:numel(X),value,'previous')
j = i+1
X([i,j])

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by