一维cressman插值

标签:
cressman插值 |
分类: matlab |
http://s1/mw690/003cvAxDzy6XRJZMS0E70&690
取5个独立点,独立点间距离为9,取影响半径也为9,程序如下:
clear
clc
d=zeros(1,5);
w=zeros(36,5);
r=zeros(36,5);
y_cressman=zeros(1,36);
y_real=zeros(1,36);
% ABCDE五点
d(1)=1+0.5*cos(pi/18*0);
d(2)=1+0.5*cos(pi/18*9);
d(3)=1+0.5*cos(pi/18*18);
d(4)=1+0.5*cos(pi/18*27);
d(5)=1+0.5*cos(pi/18*36);
R=9.0; %插值半径
for t=1:36
end
for t=1:36
end
x=1:36;
y_real=1+0.5*cos(pi/18*x);
for t=1:36
end
plot(x,y_real,x,y_cressman,'-r*')
结果如下图所示:非常接近线性插值
http://s6/mw690/003cvAxDzy6XRJZPfuZ15&690
将影响半径改为8.7,结果如下图所示:直线变得弯曲了,误差变大了。可以证明:当影响半径越接近独立点间距离时,误差越小。
http://s7/mw690/003cvAxDzy6XRK06MT4e6&690