数值分析Runge插值逼近

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.对Runge函数22511)(xxR用在区间[-1,1]下列条件作插值逼近,并和)(xR的图像进行比较。(1)用等距节点ihxi1,h=0.2,绘出它的10次Newton插值多项式的图像。(2)用节点)2212cos(1ixi(i=0,1,…,10),绘出它的10次Newton插值多项式的图像。(3)用等距节点ihxi1,h=0.2,绘出它的分段线性插值多项式的图像。(4)用等距节点ihxi1,h=0.2,绘出它的三次自然样条线性插值多项式的图像。解:当x在中间取值范围时,Newton插值曲线与原曲线比较接近,但是当x在两端时,Newton插值曲线与原曲线相差越来越大,出现了Runge现象。插值余项niinnxxxxxxfxR010)(],,,,[)(.由插值多项式的唯一性知)()(xNxLnn,因此,牛顿插值与拉格朗日插值有相同的余项表达式,即niinniinnnbaxxxxxfxxnfxNxfxR000)1(],[),(],,,[)()!1()()()()(-1-0.8-0.6-0.4-0.200.20.40.60.81-0.500.511.52Newton插值曲线与原曲线比较x轴y轴Newton插值曲线原曲线:1/(1+25*x2)由此有)!1()(],,,[)1(0nfxxxfnn.牛顿前插公式为002000!)1()1(!2)1()(fnntttfttftfthxNnn.其余项为),(),()!1()()1()()()(010nnnnxxfhnntttthxNxfxR牛顿后插公式为nnnnnnnfnntttfttftfthxN!)1()1(!2)1()(2.其余项为),(),()!1()()1()()()(0)1(1nnnnnnxxfhnntttthxNxfxR在这里由于x不是等距节点,Lagrange插值曲线与原曲线比较接近,没有出现Runge现象。给定),,1,0)(,(niyxii,构造次数不超过n的拉格朗日插值多项式nininijjijiiiinxfxxxxxfxlxL000)()()()(.称)(xLn为)(xf关于nxxx,,,10的n次拉格朗日插值多项式,它满足nixfxLiin,,1,0),()(.-1-0.8-0.6-0.4-0.200.20.40.60.81-0.200.20.40.60.811.2Lagrange插值曲线与原曲线比较x轴y轴Lagrange插值曲线原曲线:1/(1+25*x2)其中)(xli称为nxxx,,,10为结点的n次插值函数,它满足njijijixlijji,,1,0,,,0,1)()())(())(()())(())(()(11101110nixiiiiiniiixxxxxxxxxxxxxxxxxxxxxl.设)(xLn是],[ba上关于),,1,0)(,(niyxii的n次插值多项式,)(xf在],[ba上有n阶连续导数,)()1(xfn在],[ba上存在,则其余项为niinnnbaxxnfxLxfxR0)1(],[),()!1()()()()(.分段线性插值函数在区间上是一致收敛的,曲线与原曲线比较接近,不会出现Runge现象,但是需要用分段函数来表示。①n越大,分段越多,节点间距越小,分段直线越逼近于原函数曲线;②由于在每个节点处,分段线性插值函数都是取该点的原函数的值,故()具有很好的收敛性,不会像拉格朗日插值那样出现振荡现象;③由于对于x点的插值,分段线性插值只用到x左右的两个节点,并且用直线直接相连,因此分段线性插值在节点处不光滑。-1-0.8-0.6-0.4-0.200.20.40.60.8100.10.20.30.40.50.60.70.80.91分段线性插值曲线与原曲线比较x轴y轴分段线性插值曲线原曲线:1/(1+25*x2)三次自然样条插值曲线与原曲线很接近。设)(],,[)(4xsbacxf为三次样条插值函数,则有估计式kkkkhfcsf4)4()()(,2,1,0k.其中:iiiinixxhhh110,max)(max,83,241,3845),1,,1,0(210xffcccnibxa.可见,当0h时,三次样条插值函数)(xs及其一阶导数)('xs、二阶导数)(''xs分别一致收敛于被插函数)(xf、)('xf及)(''xf.在以上四种插值方法中,三次自然样条插值方法得到的曲线与原曲线最相近。拉格朗日插值曲线在节点附近误差很小,曲线也较为光滑,但在端点处有较为明显的振荡现象;分段线性插值曲线具有良好的收敛性,但在节点处不光滑;而三次样条插值曲线在n较小时也会在端点附近有相对较大的误差,但兼具了收敛和光滑的优点,从直观上看与原函数曲线吻合得最好。Matlab程序如下:-1-0.8-0.6-0.4-0.200.20.40.60.8100.10.20.30.40.50.60.70.80.91三次样条插值曲线与原曲线比较x轴y轴三次样条插值曲线原曲线:1/(1+25*x2)x0=-1:0.2:1;%初始数据y0=1./(1+25*x0.^2);x=-1:0.01:1;%插值点y=1./(1+25*x.^2);n=max(size(x0));l=max(size(x));s=1;%一次因子的乘积,预设为1dx=y0;%差商fork=1:ls=1;%一次因子的乘积,预设为1dx=y0;%差商yz=y0(1);fori=1:n-1dx0=dx;forj=1:n-idx(j)=(dx0(j+1)-dx0(j))/(x0(i+j)-x0(j));enddf=dx(1);s=s*(x(k)-x0(i));%一次因子乘积yz=yz+s*df;%计算各次Newton插值的值endyx(k)=yzendfigure;plot(x,yx,'r','LineWidth',2);holdon;plot(x,y,'b','LineWidth',2);gridon;plot(x0,y0,'ok','markersize',6,'LineWidth',6)holdontitle('Newton插值曲线与原曲线比较','fontsize',24);xlabel('x轴','fontsize',20);ylabel('y轴','fontsize',20);legend('Newton插值曲线','原曲线:1/(1+25*x^2)');set(gca,'fontsize',16)i=1:11x0=cos((2*i-1)/22*pi)y0=1./(1+25*x0.^2);x=-1:0.01:1;%插值计算点y=1./(1+25*x.^2);m=length(x);n=11;fork=1:m%分别对每一点进行插值tx=x(k);%插值点s=0;%进入迭代计算过程forj=0:(n-1)t=1;fori=0:(n-1)ifi~=jt=t*(tx-x0(i+1))/(x0(j+1)-x0(i+1));endends=s+t*y0(j+1);endyx(k)=s;end%画图显示结果figure;plot(x,yx,'r','LineWidth',2);holdon;plot(x,y,'b','LineWidth',2);gridon;plot(x0,y0,'ok','markersize',6,'LineWidth',6)holdontitle('Lagrange插值曲线与原曲线比较','fontsize',24);xlabel('x轴','fontsize',20);ylabel('y轴','fontsize',20);legend('Lagrange插值曲线','原曲线:1/(1+25*x^2)');set(gca,'fontsize',16)x0=-1:0.2:1y0=1./(1+25*x0.^2);x=-1:0.01:1;%插值计算点y=1./(1+25*x.^2);m=length(x);n=length(x0);forj=1:mfori=1:n-1if(x(j)=x0(i))&(x(j)=x0(i+1))yx(j)=(x(j)-x0(i+1))/(x0(i)-x0(i+1))*y0(i)+(x(j)-x0(i))/(x0(i+1)-x0(i))*y0(i+1);endendendfigure;plot(x,yx,'r','LineWidth',2);holdon;plot(x,y,'b','LineWidth',2);gridon;plot(x0,y0,'ok','markersize',6,'LineWidth',6)holdontitle('分段线性插值曲线与原曲线比较','fontsize',24);xlabel('x轴','fontsize',20);ylabel('y轴','fontsize',20);legend('分段线性插值曲线','原曲线:1/(1+25*x^2)');set(gca,'fontsize',16)x0=-1:0.2:1;%节点y0=1./(1+25*x0.^2);x=-1:0.01:1;%插值计算点y=1./(1+25*x.^2);yx=csape(x0,y0,'second');figure;plot(x,fnval(yx,x),'r','LineWidth',2);holdon;plot(x,y,'b','LineWidth',2);gridon;plot(x0,y0,'ok','markersize',6,'LineWidth',6)holdontitle('三次样条插值曲线与原曲线比较','fontsize',24);xlabel('x轴','fontsize',20);ylabel('y轴','fontsize',20);legend('三次样条插值曲线','原曲线:1/(1+25*x^2)');set(gca,'fontsize',16)

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功