资源描述:
《多项式插值的震荡现象.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二次作业——多项式插值的振荡现象实验2.1多项式插值的振荡现象问题提出:考虑在一个固定的区间上用插值逼近一个函数。显然Lagrange插值中使用的节点越多,插值多项式的次数就越高。我们自然关心插值多项式的次数增加时,是否也更加靠近被逼进的函数。设区间[-1,1]上函数实验内容:考虑区间[-1,1]的一个等距划分,分点为则拉格郎日插值多项式为其中,是n次lagrange插值基函数。functiont_charpt2%输入插值结点result=inputdlg({'请输入插值结点数N1:'},'charpt_2',1,{'3'})N1=str2num(
2、char(result));result=inputdlg({'请输入插值结点数N2:'},'charpt_2',1,{'5'})N2=str2num(char(result));result=inputdlg({'请输入插值结点数N3:'},'charpt_2',1,{'10'})N3=str2num(char(result));result=inputdlg({'请输入插值结点数N4:'},'charpt_2',1,{'15'})N4=str2num(char(result));if(N1<1
3、N2<1
4、N3<1
5、N4<1)errordlg('结
6、点输入错误!');return;end%插值结点小于1时错误f=inline('1./(1+25*x.^2)');a=-1;b=1;%标准函数fx1=linspace(a,b,N1+1);x2=linspace(a,b,N2+1);x3=linspace(a,b,N3+1);x4=linspace(a,b,N4+1);y1=feval(f,x1);y2=feval(f,x2);y3=feval(f,x3);y4=feval(f,x4);x=a:0.1:b;inter1=Lagrange(x1,y1,x);inter2=Lagrange(x2,y2,x
7、);inter3=Lagrange(x3,y3,x);inter4=Lagrange(x4,y4,x);%inter1为插值结点为3,inter2为插值结点为5,inter3为插值结点为10,inter4为插值结点为15fplot(f,[a,b],'-');%画标准函数f的图形holdon;plot(x,inter1,'--');plot(x,inter2,'*');plot(x,inter3,'-.');plot(x,inter4,':');%画插值逼近函数legend('f','inter1','inter2','inter3','inter4'
8、)xlabel('x');ylabel('y=f(x)oandy=Ln(x)--');%----------------------------------------------------------------functiony=Lagrange(x0,y0,x)n=length(x0);m=length(x);fori=1:mz=x(i);s=0.0;fork=1:np=1.0;forj=1:nif(j~=k)p=p*(z-x0(j))/(x0(k)-x0(j));endends=s+p*y0(k);endy(i)=s;end图1、函数的拉格
9、朗日插值多项式结果分析:多项式插值逼近结果如图所示,inter1为插值结点为3,inter2为插值结点为5,inter3为插值结点为10,inter4为插值结点为15。当结点数由3个结点增加为5个结点时,函数图形越接近,当插值结点增加到10时,曲线光滑,函数逼近效果在曲线的中间部分(-0.6,0.6)比较好,但是由上图在两个端点处x=-1和x=1附近时会出现在与原函数f(x)偏差会很大(龙格现象)。可以看出,适当提高插值多项式次数,可以提高逼近的精度,但是太高反而会产生不良的现象。由函数和的拉格郎日插值多项式的逼近结果可以得出相同的结论。图2、函数的
10、拉格郎日插值多项式图3、函数拉格郎日插值多项式由上图函数的拉格郎日插值多项式和函数拉格郎日插值多式的拟合图形可以看出,采用插值多项式时,适当增加插值结点可以提高拟合的精度,但是当插值结点过于大时都会出现龙格现象。