Question on using interpolate function

1 visualizzazione (ultimi 30 giorni)
Deepa Maheshvare
Deepa Maheshvare il 28 Gen 2020
Commentato: Deepa Maheshvare il 28 Gen 2020
I've the following
x = [1 2 3 4 5 6];
data = [0.1 0.2 0.3 0.4 0.4 0.4];
vq1 = interp1(data,x,0.4)
I want to find the x value at which data has 0.4 (first occurence).
I used interpolate. But the following error occurS
The grid vectors must contain unique points.
Any suggestions on how to proceed when data doesn't contain uniqe values will be helpful
  1 Commento
Deepa Maheshvare
Deepa Maheshvare il 28 Gen 2020
I'm still expecting answers for this post. Unfortunately, the following suggestions didn't help.

Accedi per commentare.

Risposte (2)

KSSV
KSSV il 28 Gen 2020
Use logical indexing:
x = [1 2 3 4 5 6];
data = [0.1 0.2 0.3 0.4 0.4 0.4];
vq1 = x(abs(data-0.4)<10^-5)
  1 Commento
Deepa Maheshvare
Deepa Maheshvare il 28 Gen 2020
Modificato: Deepa Maheshvare il 28 Gen 2020
I'm looking for an interpolation function. It may happen that Ive to check for a value of 0.45 that is not present in data

Accedi per commentare.


Bhaskar R
Bhaskar R il 28 Gen 2020
"I want to find the x value at which data has 0.4 (first occurence)."
match_loc = find(data == 0.4);
val = x(x == match_loc(1)); % first occurance of 0.4

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by