MATLAB Answers

LB
1

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

Asked by LB
on 2 Oct 2019
Latest activity Commented on by LB
on 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 Comments

It was showing up as a comment/text line
I fixed the code above for those variables
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.
That makes sense, thank you both for the help!

Sign in to comment.

Products

1 Answer

Answer by Matt J
on 2 Oct 2019
 Accepted Answer

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.

  0 Comments

Sign in to comment.