Matrix Interpolation coordinates interp1

10 ビュー (過去 30 日間)
James
James 2013 年 5 月 2 日
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

採用された回答

Matt J
Matt J 2013 年 5 月 2 日
編集済み: Matt J 2013 年 5 月 2 日
Use griddedInterpolant,
f=griddedInterpolant(FX); %Do this prior to loop
for i=1:N
%generate x and y
fex=f(x,y);
end
  1 件のコメント
James
James 2013 年 5 月 2 日
works great, thanks :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by