- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
资料均来自网络,版权归作者所有,可学习交流使用。
拉格朗日多项式插值法浅析
摘要
拉格朗日插值多项式是一种最常见的多项式插值法,也是一种最常用的逼近工具。来表示其某种内在规律的数量关系。但理想化的函数关系在实际工程应用中是很难寻找
的,对于那些没有明显解析式的函数关系表达式则只能通过实验观察的数据,利用多项式对某一函数的逼近,的特性,而且利用多项式就可以计算相应的函数值。例如我们不知道气温随日期变化的具体函数关系,但是我们可以测量一些孤立的日期的气温值,并假定此气温随日期变化的函数满足某一多项式。这样,利用已经测的数据,应用待定系数法便可以求得一个多项式函数f(x)。应用此函数就可以计算或者说预测其他日期的气温值。一般情况下,多项式的次数越多,需要的数据就越多,而预测也就越准确。在区间[a,b]上有定义,在是[ a,b]上取定的 N + 1个互异节点, 且在这些点处的函数值 , ,…,为已知, 即 yi =f (xi ) , (),若存在一个和近似的函数,满足
() (1)
则称 φ(x) 为 f (x) 的一个插值函数, 点为插值节点,(1)称为插值条件, 区间[a,b]称为插值区间, 而误差函数称为插值余项。即是求一个不超过N次多项式 ()
满足 ()
则成为的N次拉格朗日插值多项式。
二、拉格朗日插值多项式的构造
1、线性插值
当 n = 1时即为线性插值, 这也是代数插值最简单的形式。
根据给定函数在两个互异节点、的值、,用线性函数来近似代替。
由点斜式直线方程可得:
(2)
公式(1)可整理写成:
(3)
式(2)的右端的每一项都包含了一个线性因子,记
(4)
很容易看出来,,,因此式(3)中的多项式也给定两个定点:
(5)
式(3)中的项和称为基于节点和的拉格朗日系数多项式(线性插值基函数)。利用这种记法,式(2)可以记为和式:
(6)
也可以写成如下的矩阵:
(7)
2、二次插值
当 n = 1时即为线性插值, 这也是常用代数插值。
根据给定函数在两个互异节点、、的值、、,构造次数不超过二次的多项式 来近似代替。使满足二次插值条件()。的参数直接由插值条件决定,并满足下面方程组:
(6)
仿线性插值,用基函数的方法求解方程组。求二次式,,,因、是的两个零点,因此设,又,确定系数c=,从而导出:
(7)
同理,构造出条件满足,,的插值多项式
(8)
构造出条件满足,,的插值多项式
(9)
式(7)(8)(9)中的项、和称为基于节点、和的拉格朗日系数多项式(二次插值基函数)。利用这种记法,相应的有:
(10)
也可以写成如下的矩阵:
3、N次插值
当插值点增加到 N+ 1个时, 就可以通过 N+ 1个不同的已知点() 来构造一个次数为n的代数多项式 P (x)。类似二次插值, 先构造一个特殊的 n 次多项式,使其各点满足,,,因、…是的N个零点,因此设,又,确定系数,从而导出:
(12)
相应的有:
(13)
也可以写成如下的矩阵:
4、Lagrange插值余项
设,且,,,...,[a,b]为N+1个节点。如果x[a,b],则 (14)
其中是可以用来逼近的多项式:
(15)
误差项形如
(16)
C为区间内的某个值。
三、拉格朗日多项式插值实现流程
1、根据初始数据X的取值求出相应的Y值;
2、建立W*W的矩阵;
3、利用卷积公式计算基于节点的Lagrange系数矩阵;
4、求
四、MATLAB程序代码
Lagrange多项式逼近程序
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,
文档评论(0)