计算方法--插值法与拟合实验
- 格式:doc
- 大小:232.50 KB
- 文档页数:5
实验三 插值法与拟合实验
一、实验目的
1. 通过本实验学会利用程序画出插值函数,并和原图形相比较
2. 通过本实验学会拟合函数图形的画法,并会求平方误差 二、实验题目
1. 插值效果的比较
实验题目:区间[]5,5-10等分,对下列函数分别计算插值节点k x 的值,进行不同类型的插值,作出插值函数的图形并与)(x f y =的图形进行比较:
2
11
)(x
x f +=; x x f arctan )(=; 441)(x x x f += (1) 做拉格朗日插值;
(2) 做三次样条插值. 2. 拟合多项式实验
实验题目:给定数据点如下表所示:
分别对上述数据作三次多项式和五次多项式拟合,并求平方误差,作出离散函数),(i i y x 和拟合函数的图形. 三、实验原理
本实验应用了拉格朗日插值程序、三次样条插值程序、多项式拟合程序等实验原理. 四、实验内容 1(1)
figure x=-5:0.2:5; y=1./(1+x.^2); plot(x,y,'r'); hold on %拉格朗日插值 x1=-5:1:5; y1=1./(1+x1.^2); xx=-4.5:0.5:4.5; yy=malagr(x1,y1,xx); plot(xx,yy,'+') %三次样条插值 dy0=1./(1+25); dyn=1./(1+25);
m=maspline(x1,y1,dy0,dyn,xx);
plot(xx,m,'ok')
1(2)
x=-5:0.2:5;
y=atan(x);
plot(x,y,'r');
hold on
%拉格朗日插值
x1=-5:1:5;
y1=atan(x1);
xx=-4.5:0.5:4.5;
yy=malagr(x1,y1,xx);
plot(xx,yy,'+')
%三次样条插值
dy0=1./(1+25);
dyn=1./(1+25);
m=maspline(x1,y1,dy0,dyn,xx);
plot(xx,m,'ok')
1(3)
x=-5:0.2:5;
y=x.^2./(1+x.^4);
plot(x,y,'r');
hold on
%拉格朗日插值
x1=-5:1:5;
y1=x1.^2./(1+x1.^4);
xx=-4.5:0.5:4.5;
yy=malagr(x1,y1,xx);
plot(xx,yy,'+')
%三次样条插值
dy0=1./(1+25);
dyn=1./(1+25);
m=maspline(x1,y1,dy0,dyn,xx);
plot(xx,m,'ok')
2.
x=[-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5]';
y=[-4.45 -0.45 0.55 0.05 -0.44 0.54 4.55]'; plot(x,y,'or');
hold on
%三次多项式拟合
p1=mafit(x,y,3);
x1=-1.5:0.2:1.5;
y1=p1(1)*x1.^3+p1(2)*x1.^2+p1(3)*x1+p1(4);
plot(x1,y1,'.-')
%平方误差
y11=p1(1)*x.^3+p1(2)*x.^2+p1(3)*x+p1(4);
err1=sum((y-y11).^2)
%五次多项式拟合
p2=mafit(x,y,5);
x1=-1.5:0.2:1.5;
y2=p2(1)*x1.^5+p2(2)*x1.^4+p2(3)*x1.^3+p2(4)*x1.^2+p2(5)*x1+p2(6); plot(x1,y2,'g')
%平方误差
y22=p2(1)*x.^5+p2(2)*x.^4+p2(3)*x.^3+p2(4)*x.^2+p2(5)*x+p2(6);
err2=sum((y-y22).^2)
五、实验结果
1(1)的结果
1(2)的结果
1(3)的结果2 的结果
err1 =1.8571e-004
err2 =4.7727e-005
六、实验结果分析
做出的图形不能包含所有的点,这是正常的,插值函数或拟合图形会存在一些误差.
由实验1三个图形对比可知,用三次样条插值的误差相对于拉格朗日插值误差较大.
由实验2得出用五次多项式拟合更准确,误差更小.