How to interpolate ‘z’ for one value of ‘x’ but multiple values of y?

6 vues (au cours des 30 derniers jours)
JD
JD le 2 Oct 2019
Commenté : JD le 3 Oct 2019
I have an array x of size 1x56 An array y of size 1x20 And an array z of size (20x56)
I want to interpolate to find ‘z’ for a specific value of x but multiple y.
I am trying to plot Interp2(x,y,z,1400,y)
Z =f(x,y,z)
But it doesn’t seem to be working right. Anyone have any ideas?
  10 commentaires
Walter Roberson
Walter Roberson le 2 Oct 2019
Error using griddedInterpolant
The grid vectors do not define a grid of points that match the given values.
That is reported inside interp2(). The fix for that is to change
mfdot_6400 = interp2(ICE.map_w,ICE.map_T,mfdot_6400c',6400*2*pi/60,ICE.map_T);
to
mfdot_6400 = interp2(ICE.map_w,ICE.map_T,mfdot_6400c,6400*2*pi/60,ICE.map_T);
That is, remove the complex conjugate transpose.
However you will still get NaN. And that is because:
>> max(ICE.map_w)
ans =
664.97044500984
>> 6400*2*pi/60
ans =
670.206432765823
Your probe x is outside the range of any of the data you define.
JD
JD le 3 Oct 2019
That makes sense, thank you both for the help!

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 2 Oct 2019
If an interpolation result is giving you NaN, it normally means you are interpolating at a location which is outside the area covered by your points - hence there is no data there to interpolate between.

Plus de réponses (0)

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by