Matrix Interpolation coordinates interp1

10 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Più risposte (0)

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by