Lagrang插值多项式
- 格式:doc
- 大小:167.51 KB
- 文档页数:7
拉格朗日插值多项式
拉格朗日插值多项式是根据一组给定的数据点,利用拉格朗日插值法求出的拟合多项式。
拉格朗日插值法是一种求解插值问题的方法,它是由法国数学家拉格朗日在18次世界数学家大会上提出的。
拉格朗日插值法的基本思想是:将插值多项式看作是一个多元函数,它的值在给定的数据点处等于给定的数据值,并且在其他点上满足拉格朗日插值准则。
拉格朗日插值多项式的优点是:
1. 它可以用于拟合任意类型的函数,而不仅仅是线性函数;
2. 它可以得到更高的准确度,因为它可以根据不同的数据点来调整多项式的形式;
3. 它可以得到更平滑的曲线,因为它可以根据不同的数据点来调整多项式的形式;
4. 它可以用于处理离散数据点,而不仅仅是连续数据点。
拉格朗日插值多项式的缺点是:
1. 它的计算量较大,因为它需要解决一个多项式的拟合问题;
2. 它可能会得到不稳定的拟合结果,因为它的多项式形式可能会受到数据点的影响;
3. 它不能处理缺失的数据点,因为它需要给定的数据点来调整多项式的形式。
拉格朗日插值多项式是一种近似函数,它可以通过给定一组离散数据点,来估算出其他数据点的值。
拉格朗日插值多项式是由18世纪法国数学家Joseph-Louis Lagrange提出的,他是一位杰出的数学家和物理学家。
拉格朗日插值多项式的推导可以从一个简单的例子开始。
假设我们有一组离散的数据点{(x1, y1), (x2, y2), …, (xn, yn)},我们想要通过这些点来拟合一个函数,使得在这些点上的函数值与给定的数据点相等。
首先,我们假设要拟合的函数是一个n-1次多项式:P(x) = a0 + a1x + a2x^2 + … + an-1x^n-1我们的目标是找到多项式中的系数a0, a1, …, an-1,使得在给定的数据点上函数值与数据点的y值相等。
根据插值的思想,我们希望在每个数据点上函数值与给定的数据点相等,即对于每个数据点(xi, yi)都满足:P(xi) = yi我们可以将这个条件用一个方程表示出来。
将插值多项式代入方程中,我们得到:a0 + a1xi + a2xi^2 + … + an-1xi^n-1 = yi现在我们有n个方程,通过解这个方程组,我们可以求解出多项式的系数。
为了方便求解,我们引入拉格朗日基函数。
拉格朗日基函数Li(x)的定义是一个n 次多项式,它可以满足以下条件:1.对于所有的i≠j,Li(xj) = 02.Li(xi) = 1根据拉格朗日基函数,我们可以将插值多项式表示为:P(x) = L0(x)y0 + L1(x)y1 + … + Ln-1(x)yn-1其中Li(x)可以表示为:Li(x) = (x - x0)(x - x1)…(x - xi-1)(x - xi+1)…(x - xn-1) / (xi - x0)(xi - x1)…(xi - xi-1)(xi - xi+1)…(xi - xn-1)现在我们可以使用拉格朗日基函数来表示插值多项式,并求解多项式的系数。
第5章 实验四Lagrange 插值多项式实验目的:理解Lagrange 插值多项式的基本概念,熟悉Lagrange 插值多项式的公式及源代码,并能根据所给条件求出Lagrange 插值多项式,理解龙格现象。
5.1 Lagrange 插值多项式 Lagrange 插值多项式的表达式: 1,,2,1,)()()(,)()(1111+=--==∏∑+≠=+=n i x x x x x l x l y x L n ij j j i j i n i i i 。
其中)(x l i 被称为插值基函数,实际上是一个n 次多项式。
)(x l i 的这种表示具有较好的对称性。
公式具有两大优点:(1)求插值多项式,不需要求解线性方程组,当已知数据点较多时,此公式更能显示出优越性。
(2)函数值可以用符号形式表示,数据点未确定的纵坐标可用多项式表示。
5.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:np1z=ones(size(xi)); for j=1:np1if i~=j,z=z.*(xi-x(j))/(x(i)-x(j));end endfi=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 插值公式为:)9.36.1(*)7.26.5(*)6.16.5()9.3(*)7.2)(6.1(*94.2)6.59.3(*)7.29.3(*)6.19.3()6.5(*)7.2(*)6.1(*9.3)6.57.2(*)9.37.2(*)6.17.2()6.5(*)9.3(*)6.1(*22.4)6.56.1(*)9.36.1(*)7.26.1()6.5(*)9.3(*)7.2(*3.3)(3------+------+------+------=x x x x x x x x x x x x x L清单5.1 clearx=[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.6457xg (x ):-, d a t a p o i n t s :o图5.1 插值多项式曲线图5.3 Lagrange插值多项式源代码II% 输入:x是插值节点横坐标向量;y是插值节点对应纵坐标向量。
拉格朗日插值多项式(Lagrange Interpolation Polynomial)是一种用于在已知数据点之间进行插值的方法。
它可以用一个简单的公式表示如下:
假设有n+1个互不相同的数据点(x0, y0), (x1, y1), ..., (xn, yn),其中xi和yi分别是已知的数据点的横纵坐标。
那么拉格朗日插值多项式可以表示为:
L(x) = Σ(yi * li(x))
其中,i从0到n,li(x)是拉格朗日基础多项式(Lagrange basis polynomial),其表达式为:
li(x) = Π[(x - xj) / (xi - xj)], j ≠ i
在这个公式中,Σ表示求和运算,Π表示连乘运算。
这样得到的L(x)就是通过拉格朗日插值法得到的插值多项式。
需要注意的是,拉格朗日插值多项式在实际应用中可能会因为龙格现象(Runge's phenomenon)而导致插值结果出现震荡,因此在实际工程中可能会考虑其他插值方法或者对数据进行适当处理来减少这种影响。
第5章 实验四Lagrange 插值多项式
实验目的:理解Lagrange 插值多项式的基本概念,熟悉Lagrange 插值多项
式的公式及源代码,并能根据所给条件求出Lagrange 插值多项式,理解龙格现象。
5.1 Lagrange 插值多项式 Lagrange 插值多项式的表达式: 1,,2,1,)
()()(,
)()(1
11
1+=--==∏
∑+≠=+=n i x x x x x l x l y x L n i
j j j i j i n i i i 。
其中)(x l i 被称为插值基函数,实际上是一个n 次多项式。
)(x l i 的这种表示具有较好的对称性。
公式具有两大优点:(1)求插值多项式,不需要求解线性方程组,当已知数据点较多时,此公式更能显示出优越性。
(2)函数值可以用符号形式表示,数据点未确定的纵坐标可用多项式表示。
5.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 插值公式为:
)
9.36.1(*)7.26.5(*)6.16.5()
9.3(*)7.2)(6.1(*
94.2)
6.59.3(*)
7.29.3(*)6.19.3()
6.5(*)
7.2(*)6.1(*9.3)
6.5
7.2(*)9.37.2(*)6.17.2()
6.5(*)9.3(*)6.1(*22.4)
6.56.1(*)9.36.1(*)
7.26.1()
6.5(*)9.3(*)
7.2(*
3.3)(3------+
------+
------+
------=x x x x x x x x x x x x x L
清单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
x
g (x ):-, d a t a p o i n t s :o
图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=
1-3
>> q=poly(5)
q=
1-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 插值公式为:
)
9.36.1(*)7.26.5(*)6.16.5()
9.3(*)7.2)(6.1(*
94.2)
6.59.3(*)
7.29.3(*)6.19.3()
6.5(*)
7.2(*)6.1(*9.3)
6.5
7.2(*)9.37.2(*)6.17.2()
6.5(*)9.3(*)6.1(*22.4)
6.56.1(*)9.36.1(*)
7.26.1()
6.5(*)9.3(*)
7.2(*
3.3)(3------+
------+
------+
------=x x x x x x x x x x x x x L
清单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 值
-15-10
-5
5
10
图5.3 插值多项式曲线图形
例5.3 将区间[-5,5]等分5份、10份,求函数)
1(12x y +=的拉格朗日插值
多项式,作出函数)
1(1
2x y +=的原图像,观察龙格现象得出什么结果?
解:
清单5.3 clear,clf x=-5:2:5; y=1./(1+x.^2); [C,L]=lagran(x,y); xx=-5:0.1:5; yy=polyval(C,xx); hold on
plot(xx,yy,'b',x,y,'.') xp=-5:0.01:5; z=1./(1+xp.^2); plot(xp,z,'r')
清单5.4
clear,clf x=-5:1:5; y=1./(1+x.^2); [C,L]=lagran(x,y); xx=-5:0.1:5; yy=polyval(C,xx); hold on
plot(xx,yy,'b',x,y,'.') xp=-5:0.01:5; z=1./(1+xp.^2); plot(xp,z,'r')
图5.4 5等份插值图形
图5.5 10等份插值图形
通过观察图形可以得出:
(1) 并不是插值节点越多,插值多项式逼近函数效果就越好。
(2) 误差较大地方,是在插值区间两端点附近出现。
练习题
1.设()2/f x x x =+,(1)用基于点0121,2 2.5x x x ===和的二次拉格朗日
多项式,求(1.5)f 和(1.2)f 的近似值。
(2)用基于点5.00=x ,11=x ,
32=x 和53=x 的三次拉格朗日多项式,求(1.5)f 和(1.2)f 的近似值。
2.用等距插值节点计算区间0/2x π≤≤上函数sin x x 的四次拉格朗日多项
式。
每隔/16π计算一次插值误差,并画出图形。