数值分析多项式插值的振荡现象汇总.docx
《数值分析多项式插值的振荡现象汇总.docx》由会员分享,可在线阅读,更多相关《数值分析多项式插值的振荡现象汇总.docx(25页珍藏版)》请在冰豆网上搜索。
数值分析多项式插值的振荡现象汇总
数值分析实验报告
多项式插值的振荡现象
姓名:
班级:
学号:
数值分析实验报告
实验名称
多项式插值的振荡现象
实验时间
2013年10月23日
姓名
班级
学号
成绩
一、实验目的
1.理解多项式插值,懂得它的振荡现象。
2.研究样条插值,并分析它的收敛性。
3.学会在实际生活中使用二维插值。
二、实验内容
1.设区间[-1,1]上函数
考虑区间[-1,1]的一个等距划分,分点为
则拉格朗日插值多项式为
其中的
是n次拉格朗日插值基函数。
2.请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。
考虑实验1中的函数或选择其他你有兴趣的函数,可以用MATLAB的函数“spline”作此函数的三次样条插值。
3.在一丘陵地带测量高程,x和y方向每隔100米测一个点,得高程数据如下。
试用MATLAB的二维插值函数“interp2”进行插值,并由此找出最高点和该点的高程。
三、算法描述
(1)编写好拉格朗日插值函数,保存在M文件中;
(2)考虑到:
1、一幅图中太多的曲线会相互覆盖;2、n取奇偶数可能结果不同;3、不同的节点选取方法可能导致不同的结果。
故而n的选择分为n=2:
2:
8、n=3:
2:
9或者n=2:
4:
10、n=3:
4:
11与n=40三种情况;
(3)节点的选取分为均匀节点、切比雪夫节点两种
四、程序流程图
由于实验方案明显、简单,实现步骤及流程图省略。
五、实验结果
具体结果在实验分析里:
整理的结果如下
1>实验一的结果:
1.
当节点为均匀节点时:
插值点数目为奇数、偶数、40时,图像对称,但是不收敛,但是节点数越多,0附近的拟合效果越好,但是两端误差较大。
当节点为切比雪夫点时:
插值点数目为奇数、偶数、40时,图像对称,但是可以收敛,节点数越多,拟合效果越好。
2.
当节点为均匀节点时:
插值点数目为奇数、偶数、40时,图像对称,也是不收敛,但是节点数越多,0附近的拟合效果越好,同时两端的误差较大。
当节点为切比雪夫点时:
插值点数目为奇数、偶数、40时,图像对称,但是可以收敛,节点数越多,拟合效果越好。
3.
当节点为均匀节点时:
插值点数目为奇数、偶数、40时,图像对称,也是不收敛,但是节点数越多,0附近的拟合效果越好,同时两端的误差较大。
当节点为切比雪夫点时:
插值点数目为奇数、偶数、40时,图像对称,但是可以收敛,节点数越多,拟合效果越好。
2>实验二的结果
通过作图可以发现:
插值点数目增加时,三次样条插值光滑度依然很好,而且精度比以前更高,收敛性很好;但是发现lagrange插值却出现偏离,即存在误差,而且随着节点的增加,偏离越明显。
由此,可以发现,三次样条插值的收敛性比lagrange插值好。
3>思考题结果
通过分析计算可知,最高点为:
166178
该点的高程为:
721.098
六、实验结果分析
1>实验一结果分析
首先尝试了一些n值,发现振荡明显,而且还有覆盖现象,由下图可见:
故针对上述现象,我们可以采用分开讨论测试的方法;
(1)
1.节点为均匀节点时:
a)当节点为奇数时,即n=2:
2:
8,可以得到如下图像
从图中可以看到:
节点数为基数个并且对称时,插值函数也是对称的;节点数越多,附近的区域拟合越好;节点数越多,两端误差越大;
b)当节点为偶数时,即n=3:
2:
9,可以得到如下图像
从图中可以看到:
节点数为偶数个并且对称时,插值函数也是对称的;节点数越多;附近的区域拟合越好;节点数越多,两端误差越大;和奇数结果大致相同。
c)当n=40时:
由图可知:
插值函数也是左右对称,而且0附近几乎和被插值函数重合,但是两端误差很大,所以结论可以算是准确的。
2.当节点为切比雪夫节点时:
即
,节点是对称的
a)当节点为奇数个时,即n=2:
2:
8时,可以得到:
从图中可以看出:
节点数为基数个并且对称时,插值函数也是对称的;节点数越多,所有区域拟合都越好;
b)当节点为偶数个时,即n=3:
2:
9时,可以得到:
此时,节点的选取也是对称的,同样我们也看到插值函数的图像是对称的;观察结论与节点数为奇数时几乎一样:
节点数越多,所有区域拟合都越好;
c)当n=40时,得到:
从图中我们看到,插值函数左右对称,插值函数几乎和被插值函数重合。
故而,上面的观察结论是正确的。
(2)
1.节点为均匀节点时:
a)当节点为奇数时,即n=2:
4:
10,可以得到如下图像
从图中可以看到:
节点数为基数个并且对称时,插值函数也是对称的;节点数越多,0附近的区域拟合越好;节点数越多,两端误差越大;
b)当节点为偶数时,即n=3:
4:
11,可以得到如下图像
从图中可以看到:
节点数为偶数个并且对称时,插值函数也是对称的;节点数越多;附近的区域拟合越好;节点数越多,两端误差越大;和奇数结果大致相同。
c)当n=40时:
由图可知:
插值函数也是左右对称,而且0附近几乎和被插值函数重合,但是两端误差很大,所以结论可以算是准确的。
2.当节点为切比雪夫节点时:
即
,节点是对称的
a)当节点为奇数个时,即n=2:
4:
10时,可以得到:
从图中可以看出,插值函数过两端和原点,并且也是奇函数;n越大拟合度越好,没有出现误差增大的现象;
b)当节点为偶数个时,即n=3:
4:
11时,可以得到:
从图中可以看出,插值函数不经过两端,但也是奇函数;节点数越多,拟合度也越好
c)当n=40时,得到:
N取得很大的时候,插值函数和被插值函数几乎重合
(3)
1.节点为均匀节点时:
a)当节点为奇数时,即n=2:
4:
10,可以得到如下图像
从图中可以看出:
节点数为基数个并且对称时,插值函数也是对称的;节点数越多,0附近的区域拟合越好;节点数越多,两端误差越大;
b)当节点为偶数时,即n=3:
4:
11,可以得到如下图像
从图中可以看到:
节点数为偶数个并且对称时,插值函数也是对称的;节点数越多;附近的区域拟合越好;节点数越多,两端误差越大;和奇数结果大致相同。
c)当n=40时:
由图可知:
插值函数也是左右对称,而且0附近几乎和被插值函数重合,但是两端误差很大,所以结论可以算是准确的。
2.当节点为切比雪夫节点时:
即
,节点是对称的
a)当节点为奇数个时,即n=2:
4:
10时,可以得到:
从图中可以看出,插值函数过两端和原点,并且也是奇函数;n越大拟合度越好,没有出现误差增大的现象;
b)当节点为偶数个时,即n=3:
4:
11时,可以得到:
从图中可以看出,插值函数不经过两端,但也是奇函数;节点数越多,拟合度也越好
c)当n=40时,得到:
N取得很大的时候,插值函数和被插值函数几乎重合
综合分析上面的图像和数据可以发现:
节点数目的奇偶对实验没有什么影响,而且节点不是越多拟合越好,可能会发生发散现象,对称的节点选取,得到的插值函数的对称性与被插值函数相同节点的位置不对称,则得到的插值函数也不对称节点位置的选取会影响插值函数的收敛性和误差切比雪肤插值节点确实比以上用到的均匀节点、不均匀节点要好,对于不同的被插值函数,同样的插值节点选取往往能得到类似的结果。
2>实验二结果分析
1.令
则下面就以这个函数做具体分析:
节点为5时,图如下
节点为10时,图如下
节点为20时,图如下:
由上面三幅图可以发现,随着节点数的增加,三次样条插值函数的拟合越来越好,与原函数越来越逼近;相反lagrange插值函数的拟合却越来越差,误差越来越明显,因此,我们可以得出结论,随着节点数的增加,三次样条插值函数的收敛性比lagrange插值函数好。
故而我们可以证明了样条插值的收敛性。
2.针对二中的一些数据我们可以进行拟合一下,在图上面观察的更加明显。
以上就是在给定数据的条件下,做出的三次样条插值设计车门的曲线。
3>思考题结果分析
可以利用matlab进行编程,分别利用linear,cubic,spline计算此题,
计算的结果:
利用linear可以计算得到
x=166y=178
zmax=7.210983601652320e+02
利用cubic可以计算得到:
x=166y=178
zmax=7.210983601652320e+02
利用spline可以计算得到:
x=166y=178
zmax=7.210983601652320e+02
所以我们可以得到,在不同的条件下,最高点应该是在166178附近,且最高程为721.098
总之,通过以上实验我们可以知道插值节点的数目不一定是越多拟合得越好,很多时候会出现发散现象;对称的节点选取,得到的插值函数的对称性与被插值函数相同;节点的位置不对称,则得到的插值函数也不对称;节点位置的选取会影响插值函数的收敛性和误差;切比雪夫插值节点确实比以上用到的;均匀节点效果好;对于不同的被插值函数,同样的插值节点选取往往能得到类似的结果。
而且通过实验二我们可以知道体会到有些三次样条插值的收敛性很难证明时,有时候利用图片,观察图像,也同样可以获得证明的效果。
实验二和思考题,重在将实验和理论相结合,学会在实际中运用所学知识,解决实际问题。
教师评语
指导教师:
年月日
数值分析上机实验原始记录
实验名称:
多项式插值的振荡现象实验时间:
2013年10月23日
姓名:
学号:
班级:
实验一的关键程序:
事先估计程序
m=150;x=-1:
2/(m-1):
1;y=1./(1+25*x.^2);z=0*x;plot(x,z,'r',x,y,'k-'),
gtext('y=1/(1+25*x^2)'),pause
n=3;x0=-1:
2/(n-1):
1;y0=1./(1+25*x0.^2);y1=lagr1(x0,y0,x);holdon,
plot(x,y1,'g'),gtext('n=2'),pause,holdoff
n=4;x0=-1:
2/(n-1):
1;y0=1./(1+25*x0.^2);y2=lagr1(x0,y0,x);holdon,
plot(x,y2,'b:
'),gtext('n=3'),pause,holdoff
n=5;x0=-1:
2/(n-1):
1;y0=1./(1+25*x0.^2);y3=lagr1(x0,y0,x);holdon,
plot(x,y3,'r'),gtext('n=4'),pause,holdoff
n=11;x0=-1:
2/(n-1):
1;y0=1./(1+25*x0.^2);y4=lagr1(x0,y0,x);holdon,
plot(x,y4,'r:
'),gtext('n=10'),pause,holdoff
n=51;x0=-1:
2/(n-1):
1;y0=1./(1+25*x0.^2);y5=lagr1(x0,y0,x);holdon,
plot(x,y5,'m'),gtext('n=50'),pause,holdoff
n=81;x0=-1:
2/(n-1):
1;y0=1./(1+25*x0.^2);y6=lagr1(x0,y0,x);holdon,
plot(x,y6,'m'),gtext('n=80'),pause,holdoff
%%1.1.ay=1./(1+25*x.^2)的程序——均匀节点
m=150;x=-1:
2/(m-1):
1;y=1./(1+25*x.^2);z=0*x;plot(x,z,'r',x,y,'k-'),
gtext('y=1/(1+25*x^2)'),pause
n=2;x0=-1:
2/(n-1):
1;y0=1./(1+25*x0.^2);y1=lagr1(x0,y0,x);holdon,
plot(x,y1,'g'),gtext('n=1'),pause,holdoff
n=4;x0=-1:
2/(n-1):
1;y0=1./(1+25*x0.^2);y2=lagr1(x0,y0,x);holdon,
plot(x,y2,'b:
'),gtext('n=3'),pause,holdoff
n=6;x0=-1:
2/(n-1):
1;y0=1./(1+25*x0.^2);y3=lagr1(x0,y0,x);holdon,
plot(x,y3,'r'),gtext('n=5'),pause,holdoff
n=8;x0=-1:
2/(n-1):
1;y0=1./(1+25*x0.^2);y4=lagr1(x0,y0,x);holdon,
plot(x,y4,'r:
'),gtext('n=7'),pause,holdoff
%%1.1b——切比雪夫节点
m=150;x=-1:
2/(m-1):
1;y=1./(1+25*x.^2);z=0*x;plot(x,z,'r',x,y,'k-'),
gtext('y=1/(1+25*x^2)'),pause
x=q
(2);y=1./(1+25*x.^2);n=2;x0=-1:
2/(n-1):
1;y1=lagr1(x,y,x0);holdon,
plot(x0,y1,'g'),gtext('n=1'),pause,holdoff
x=q(4);y=1./(1+25*x.^2);n=4;x0=-1:
2/(n-1):
1;y2=lagr1(x,y,x0);holdon,
plot(x0,y2,'b:
'),gtext('n=3'),pause,holdoff
x=q(6);y=1./(1+25*x.^2);n=6;x0=-1:
2/(n-1):
1;y3=lagr1(x,y,x0);holdon,
plot(x0,y3,'r'),gtext('n=5'),pause,holdoff
x=q(8);y=1./(1+25*x.^2);n=8;x0=-1:
2/(n-1):
1;y4=lagr1(x,y,x0);holdon,
plot(x0,y4,'r:
'),gtext('n=7'),pause,holdoff
%%2.1ay=x./(1+x.^4)的程序——均匀节点
m=150;x=-5:
10/(m-1):
5;y=x./(1+x.^4);z=0*x;plot(x,z,'r',x,y,'k-'),
gtext('y=x/(1+x^4)'),pause
n=2;x0=-5:
10/(n-1):
5;y0=x0./(1+x0.^4);y1=lagr1(x0,y0,x);holdon,
plot(x,y1,'g'),gtext('n=1'),pause,holdoff
n=6;x0=-5:
10/(n-1):
5;y0=x0./(1+x0.^4);y3=lagr1(x0,y0,x);holdon,
plot(x,y3,'r'),gtext('n=5'),pause,holdoff
n=10;x0=-5:
10/(n-1):
5;y0=x0./(1+x0.^4);y4=lagr1(x0,y0,x);holdon,
plot(x,y4,'r:
'),gtext('n=9'),pause,holdoff
%%2.1b——切比雪夫节点
m=150;x=-5:
10/(m-1):
5;y=x./(1+x.^4);z=0*x;plot(x,z,'r',x,y,'k-'),
gtext('y=x/(1+x^4)'),pause
x=q
(2);y=x./(1+x.^4);n=3;x0=-5:
10/(n-1):
5;y1=lagr1(x,y,x0);holdon,
plot(x0,y1,'g'),gtext('n=1'),pause,holdoff
x=q(6);y=x./(1+x.^4);n=5;x0=-5:
10/(n-1):
5;y2=lagr1(x,y,x0);holdon,
plot(x0,y2,'b:
'),gtext('n=5'),pause,holdoff
x=q(10);y=x./(1+x.^4);n=10;x0=-5:
10/(n-1):
5;y3=lagr1(x,y,x0);holdon,
plot(x0,y3,'r'),gtext('n=9'),pause,holdoff
%%3.1ay=atan(x)的程序——均匀节点
m=150;x=-5:
10/(m-1):
5;y=atan(x);z=0*x;plot(x,z,'r',x,y,'k-'),
gtext('y=atanx'),pause
n=2;x0=-5:
10/(n-1):
5;y0=atan(x0);y1=lagr1(x0,y0,x);holdon,
plot(x,y1,'g'),gtext('n=1'),pause,holdoff
n=6;x0=-5:
10/(n-1):
5;y0=atan(x0);y3=lagr1(x0,y0,x);holdon,
plot(x,y3,'r'),gtext('n=5'),pause,holdoff
n=10;x0=-5:
10/(n-1):
5;y0=atan(x0);y4=lagr1(x0,y0,x);holdon,
plot(x,y4,'y:
'),gtext('n=9'),pause,holdoff
%%3.1b——切比雪夫节点
m=150;x=-5:
10/(m-1):
5;y=atan(x);z=0*x;plot(x,z,'r',x,y,'k-'),
gtext('y=1/(1+25*x^2)'),pause
x=q
(1);y=atan(x);;n=2;x0=-5:
10/(n-1):
5;y1=lagr1(x,y,x0);holdon,
plot(x0,y1,'g'),gtext('n=1'),pause,holdoff
x=q(5);y=atan(x);n=6;x0=-5:
10/(n-1):
5;y3=lagr1(x,y,x0);holdon,
plot(x0,y3,'r'),gtext('n=5'),pause,holdoff
x=q(9);y=atan(x);n=10;x0=-5:
10/(n-1):
5;y4=lagr1(x,y,x0);holdon,
plot(x0,y4,'r:
'),gtext('n=9'),pause,holdoff
实验二的关键程序
问题一的程序
x0=linspace(-1,1,11);
y0=1./(1+9*x0.^2);
x=-1:
0.02:
1;
y=lagr1(x0,y0,x);
yi=spline(x0,y0,x)%%求三次样条插值
z=1./(1+9*x.^2);
Ri=abs((z-yi)./z);%%三次样条插值相对误差
R=abs((z-y)./z);%%lagrange插值相对误差
x,y,z,yi,R,Ri=[x',y',z',yi',R',Ri']
n=size(x0)
plot(x,z,'o',x,y,'-',x,yi,'r*')
legend('原始图像','lagrange插值','三次样条插值')
问题二的程序
m=101;
x=-1:
2/(m-1):
1;
y=1./(1+25*x.^2);
plot(x,y)
xi=0:
10;
yi=[0.0,0.79,1.53,2.19,2.71,3.03,3.27,2.89,3.06,3.19,3.29];
pp=csape(x,y,'complete',[0.8,0.2]);
xj=0:
0.1:
10;
yj=ppval(pp,xi);
plot(x,y,'*');
plot(xi,yi)
思考题程序
%%以下为三种不同的方式——1
x0=[100200300400];
y0=[100
200
300
400];
z0=[636697624478
698712630478
680674598412
662626552334];
pp=csape({x0,y0},z0');
xi=100:
1:
400;yi=100:
1:
400;
cz1=fnval(pp,{xi,yi});
cz2=interp2(x0,y0,z0,xi,yi','Linear');
[i,j]=find(cz1==max(max(cz1)));
x=xi(i),y=yi(j),zmax=cz1(i,j)
——2
x0=[100200300400];
y0=[100
200
300
400];
z0=[636697624478
698712630478
680674598412
662626552334];
pp=csape({x0,y0},z0');
xi=100:
1:
400;yi=100:
1:
400;
cz1=fnval(pp,{xi,yi});
cz2=interp2(x0,y0,z0,xi,yi','cubic');
[i,j]=find(cz1==max(max(cz1)));
x=xi(i),y=yi(j),zmax=cz1(i,j)
——3
x0=[100200300400];
y0=[100
200
300
400];
z0=[636697624478
698712630478
680674598412
662626552334];
pp=csape({x0,y0},z0');
xi=100:
1:
400;yi=100:
1:
400;
cz1=fnval(pp,{xi,yi});
cz2=interp2(x0,y0,z0,xi,yi','spline');
[i,j]=find(cz1==max(max(cz1)));
x=xi(i),y=yi(j),zmax=cz1(i,j)
指导教师:
年月日