Does anybody have details about how Matlab does its 2-D 'spline' interpolation?

2 ビュー (過去 30 日間)
Jonas
Jonas 2012 年 7 月 18 日
I didn't find details about how Matlab computes its 'spline' interpolation in interp2. Apparently, it uses many points (Roughly a square of 60 points are needed to obtain exactly the same interpolation as for the whole plan when I tried for an example implying a huge matrix of random numbers (see example below) (and it's probably only a precision limit)). (I understood that 'linear' uses 4 points, 'cubic' 16) Does anyone know how Matlab procedes (I don't think they give any reference or anything about their method...)
MATLAB CODE
X=ones(1000*2,1)*(1:500);
Y=((((1-round(1000/2)):1000+...
(1000-round(1000/2))))')*ones(1,500);
Z=rand(2000,500);
rt=59.5
Hum3=interp2(X,Y,Z,rt,rt,'spline')
for kj=1:floor(rt-1)
if isequal(interp2(X((500+floor(rt)-kj):(500+ceil(rt)+kj),(floor(rt)-kj):(floor(rt)+kj)),...
Y((500+floor(rt)-kj):(500+ceil(rt)+kj),(floor(rt)-kj):(floor(rt)+kj)),...
Z((500+floor(rt)-kj):(500+ceil(rt)+kj),(floor(rt)-kj):(floor(rt)+kj)),rt,rt,'spline'),Hum3)
disp(kj)
break
end
end
  5 件のコメント
Miro
Miro 2012 年 7 月 19 日
the problem is, that the following can easily happen: http://imgur.com/e5hPj
Jonas
Jonas 2012 年 7 月 19 日
Yes, you are right, thank you. Apparently the 'cubic' option is less prone to this unwanted distortions... (I am doing some tests..)

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

回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by