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

2 visualizzazioni (ultimi 30 giorni)
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 Commenti
Jonas
Jonas il 19 Lug 2012
Yes, you are right, thank you. Apparently the 'cubic' option is less prone to this unwanted distortions... (I am doing some tests..)

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Spline Postprocessing 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