Matrix Interpolation coordinates interp1

Hey guys, I'm trying to do something which should be simple but I just can't seem to write it. I have a matrix FX, and two vectors of coordinates, x&y, and these coordinates are changing in an iterative loop.
After each iteration, I need to find the value of FX at the new coordinates (FX(x,y)) but the coordinates aren't integers, so I need to do some sort of interpolation to find the closest F(xi, yi) that I can. I was thinking it would just be,
fex = interp1([round(x),round(y)],FX,[x,y], 'linear')
But that complains about not being monotonic (they're not meant to be). Any ideas on how to approach this one?
Thanks

 Accepted Answer

Matt J
Matt J on 2 May 2013
Edited: Matt J on 2 May 2013
Use griddedInterpolant,
f=griddedInterpolant(FX); %Do this prior to loop
for i=1:N
%generate x and y
fex=f(x,y);
end

More Answers (0)

Categories

Find more on Interpolation in Help Center and File Exchange

Asked:

on 2 May 2013

Community Treasure Hunt

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

Start Hunting!