Matrix Interpolation coordinates interp1

12 visualizaciones (últimos 30 días)
James
James el 2 de Mayo de 2013
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

Respuesta aceptada

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

Más respuestas (0)

Categorías

Más información sobre Interpolation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by