第5章 实验四agrange插值多项式.docVIP

  • 119
  • 0
  • 约 7页
  • 2016-10-16 发布于贵州
  • 举报
第5章 实验四agrange插值多项式

第5章 实验四Lagrange插值多项式 实验目的:理解Lagrange插值多项式的基本概念,熟悉Lagrange插值多项式的公式及源代码,并能根据所给条件求出Lagrange插值多项式,理解龙格现象。 Lagrange插值多项式 Lagrange插值多项式的表达式: 。 其中被称为插值基函数,实际上是一个n次多项式。的这种表示具有较好的对称性。公式具有两大优点:(1)求插值多项式,不需要求解线性方程组,当已知数据点较多时,此公式更能显示出优越性。(2)函数值可以用符号形式表示,数据点未确定的纵坐标可用多项式表示。 Lagrange插值多项式源代码I % 功能: 对一组数据做Lagrange插值 % 调用格式:yi=Lagran_(x,y,xi) % x,y 数组形式的数据表 % xi:待计算y值的横坐标数组 % yi用Lagrange 插值算出的y值数组 function fi=Lagran_(x,f,xi) fi=zeros(size(xi)); np1=length(f); for i=1:np1 z=ones(size(xi)); for j=1:np1 if i~=j,z=z.*(xi-x(j))/(x(i)-x(j));end end fi=fi+z*f(i); end return 例5.1 已知4对数据(1.6,3.3),(2.7,1.22),(3.9,5.61),(5.6,2.94)。写出这4个数据点的Lagrange插值公式,并计算出横坐标xi=[2.101,4.234]时对应的纵坐标。 解:4个数据点的Lagrange插值公式为: 清单5.1 clear x=[1.6, 2.7, 3.9, 5.6]; y=[3.3, 1.22, 5.61, 2.94]; xi=[2.101,4.234]; yi=Lagran_(x,y,xi); xx=1.5:0.05:6.5; yy=Lagran_(x,y,xx); plot(xx,yy,x,y,o) 其结果为: yi = 1.0596 6.6457 图5.1 插值多项式曲线图 5.3 Lagrange插值多项式源代码II % 输入:x是插值节点横坐标向量;y是插值节点对应纵坐标向量。 % 输出:C是拉格朗日插值多项式的系数矩阵;L是插值基函数系数矩阵。 function [C,L]=lagran(x,y) w=length(x); n=w-1; L=zeros(w,w); for k=1:n+1 V=1; for j=1:n+1 if k~=j V=conv(V,poly(x(j)))/(x(k)-x(j)); end end L(k,:)=V; end C=y*L 程序中使用了命令poly和conv。poly命令创建一个向量,其项为以多项式的系数,该多项式具有给定的根。conv命令生成一个向量,其项为多项式系数,该多项式是另外两个多项式的乘积。例如:找出两个一次多项式p(x)和q(x)的乘积,它们的根为3和5。 p=poly(3) p= -3 q=poly(5) q= -5 conv(p,q) ans= 1 -8 15 例5.2 用Lagrange插值多项式源代码II,对4对数据(1.6,3.3),(2.7,4.22),(3.9,5.61),(5.6,2.94),写出这4个数据点的Lagrange插值公式,并计算出横坐标组xi=[2.101,4.234]时对应的纵坐标值。 解:4个数据点的Lagrange插值公式为: 清单5.2 clear x=[1.6, 2.7, 3.9, 5.6]; y=[3.3, 1.22, 5.61, 2.94]; xi=[2.101,4.234]; [C,L]=lagran(x,y); xx=1.5:0.05:6.5; yy= polyval(C,xx); plot(xx,yy, x,y,o) 数据清单见图5.2,插值曲线图见图5.3。 图5.2 输出插值多项式的系数、插值基函数系数矩阵及yy值 图5.3 插值多项式曲线图形 例5.3 将区间[-5,5]等分5份、10份,求函数的拉格朗日插值多项式,作出函数的原图像,观察龙格现象得出什么结果? 解: 清单5.3 clear,cl

文档评论(0)

1亿VIP精品文档

相关文档