Effacer les filtres
Effacer les filtres

Interpolate Data and find the matching x-Value

5 vues (au cours des 30 derniers jours)
Gabriel Bischof
Gabriel Bischof le 22 Jan 2020
Commenté : Star Strider le 22 Jan 2020
I have got an arry with 151937x2 double wicht discribes a Curve.
I am trying to find the x-Value to the matching y- Value for example:
data=[1 2,
2 3,
3 3,
4 5,
7 9]
I have tryed it with:
interp1(data(:,1), data(:,2),y-Value ,'PCHIP')
But the function returns the according y-Value, logically. So I tryed to swap x and y datas. The Problem is that the y-Values arent unique.
I hope someone can help me.

Réponse acceptée

Star Strider
Star Strider le 22 Jan 2020
Try this:
data=[1 2,
2 3,
3 3,
4 5,
7 9];
xval = @(yval) fsolve(@(x) interp1(data(:,1), data(:,2), x, 'linear') - yval, median(data(:,1)));
that with these calls to it:
Out3 = xval(3)
Out6 = xval(6)
Out8 = xval(8)
produces:
Out3 =
3.0000
Out6 =
4.7500
Out8 =
6.2500
  4 commentaires
Gabriel Bischof
Gabriel Bischof le 22 Jan 2020
I understand. Thank you a lot, this was a great help.
Star Strider
Star Strider le 22 Jan 2020
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Produits


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by