欢迎来到天天文库
浏览记录
ID:14210430
大小:1.00 MB
页数:6页
时间:2018-07-26
《构造拉格朗日插值多项式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MATLAB期中作业构造拉格朗日插值多项式一、问题分析:首先从最简单的一次lagrange出发构造一个插值函数,过两个点做一条直线,用两点式表示,则有分别记作:则是的一次插值基函数,是的一次插值基函数。是这两个差值基函数的线性组合:,这种形式的插值称为拉格朗日线性插值。同样地我们可以用三个点来构造过三个点的插值函数,即二次插值。点的二次插值基函数为:点的二次插值基函数为:点的二次插值基函数为:有了这3个二次插值基函数,可得到过的二次拉格朗日插值项式:有了上面的一次和二次差之多插值多项式、,我们可以推广到次插值多项式。下面构造通过各节点的次插值多项式,是之满足首先构造个插值节点上的插值基函数
2、,对任一点所对应的插值基函数,由于在所有取零值,因此有因子。又因是一个次数不超过的多项式,所以只可能相差一个常数因子,固可表示成:利用得:于是因此满足的插值多项式可表示为:从而次拉格朗日插值多项式为:二、lagrange插值多项式在MATLAB中的实现:定义函数文件lagran:functiony=lagran(x0,y0,x)%x0,y0是已知的插值点坐标%x是待求点组成的数组%y是拉格朗日差值多项式在x处的值%L是拉格朗日插值函数的权函数n=length(x0);m=length(x);L=zeros(1,n);y=zeros(1,m);fork=1:ms=0;fori=1:nL(i)
3、=1;forj=1:nifj~=iL(i)=L(i)*(x(k)-x0(j))/(x0(i)-x0(j));endends=s+y0(i)*L(i);endy(k)=s;endreturn;用下列命令文件调用函数文件lagran.m:x1=[1.12.33.95.1];y1=[3.8874.2764.6515.117];x=[2.1013.5234.2345.226];y=lagran(x1,y1,x)[P,S]=polyfit(x,y,3)plot(x,y,'r*');grid;holdonplot(x1,y1,'g')title=('lagran(x,y)');xlabel('x');
4、ylabel('y');运行结果:y=4.22574.55314.75265.1858P=0.0218-0.19090.77683.2345S=R:[4x4double]df:0normr:2.5121e-015三、结果分析:
此文档下载收益归作者所有