插值法及其matlab实现教案.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《插值法及其matlab实现教案.pptx》由会员分享,可在线阅读,更多相关《插值法及其matlab实现教案.pptx(160页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1插值法及其插值法及其matlab实现实现 描述事物之间的数量关系:函数。有两种情况:一是表格表格形式一组离散的数据离散的数据来表示函数关系;另一种是函数虽然有明显的有明显的表达式表达式,但很复杂,但很复杂,不便于研究和使用。从实际需要出发:对于计算结果允许有一定的误差,可以把函数关系用一个简单的便于计算和处理的近似表达式近似表达式来代替,从而使问题得到简化。一般地,构造某种简单函数代替原来函数。0 引言引言第二章第二章 插值插值(Interpolation)法法插值法就是一种基本方法插值法就是一种基本方法第1页/共160页当精确函数当精确函数 y=f(x)非常复杂或未知时,在一系列节非
2、常复杂或未知时,在一系列节点点 x0 xn 处测得函数值处测得函数值 y0=f(x0),yn=f(xn),由,由此构造一个简单易算的近似函数此构造一个简单易算的近似函数 g(x)f(x),满足条,满足条件件g(xi)=f(xi)(i=0,n)。这里的。这里的 g(x)称为称为f(x)的的插值函数插值函数。x0 x1x2x3x4xg(x)f(x)第2页/共160页 根据实际需要,可以用各种不同的函数来近似原来的函数。最常用的插值函数是最常用的插值函数是?多项式:多项式:代数多项式最简单,计算其值只需用到加、减乘运算,且积分和微分都很方便;所以常用它来近似表示表格函数(或复杂函数),这样的插值方法
3、叫做代数插值法代数插值法,简称插值法。第3页/共160页1 拉格朗日多项式拉格朗日多项式 niyxPiin,.,0,)(=求求 n 次多项式次多项式 使得使得条件:条件:无重合节点,即无重合节点,即n=1已知已知 x0,x1;y0,y1,求,求使得使得111001)(,)(yxPyxP=可见可见 P1(x)是过是过(x0,y0)和和(x1,y1)两点的直线。两点的直线。)(1xP101xxxx 010 xxxx =y0+y11.1线性插值线性插值两点两点式式)()(0010101xxxxyyyxP +=点斜点斜式式)(001010 xxxxxxy +=()ff第4页/共160页1.2 二次插值
4、二次插值n=2已知已知 x0,x1,x2;y0,y1,y2,求求使得使得002,)(yxP112)(yxP=222)(yxP=,为求为求P2(x),将三点代入其表达式将三点代入其表达式,即可得到三个方程式即可得到三个方程式,从而联立方程组解出系数从而联立方程组解出系数a0,a1,a2即可即可:方程组的方程组的解是否存解是否存在在?若存在解若存在解,是否是否唯一唯一?!当当 x0,x1,x2互异时互异时,方程组的解存在且唯一方程组的解存在且唯一.注:注:显然有显然有,求求n 次插值时次插值时,由由n+1个点可有个点可有n+1个方程个方程,联立方程组即可求出插值多项式的联立方程组即可求出插值多项式
5、的n+1个系数个系数.然而然而,方程组的求解也并不是一件容易的事方程组的求解也并不是一件容易的事。待定系数法待定系数法第5页/共160页 对于线性插值的对于线性插值的两种形式两种形式解解进行适当的分析进行适当的分析,从中寻从中寻求规律而得到启发求规律而得到启发,就有了所谓的就有了所谓的拉格朗日插值法拉格朗日插值法(公式公式)和和牛顿插值牛顿插值(公式公式).).我们先来看看如何得到二次二次拉格朗日插值公式。拉格朗日插值公式。第6页/共160页 首先,线性插值的两点式可看作是两个特殊的一次式可看作是两个特殊的一次式的一种线性组合的一种线性组合.101xxxx 010 xxxx )(1xP=y0+
6、y1=10)(iiiyxl两点两点式式l0(x)l1(x)实质上实质上()和)和()即是满足函数表)即是满足函数表 的一次插值多项式的一次插值多项式,称称l0(x)和和l1(x)为以为以x0,x1为节点的基本插值多项式,也称为为节点的基本插值多项式,也称为线性插值的线性插值的插值基函数插值基函数。于是,线性插值即是用于是,线性插值即是用基函数的线性组合基函数的线性组合来构造的来构造的.基函数法基函数法称为称为拉氏基函拉氏基函数数 ,满足,满足 li(xj)=ij 显然有显然有l0(x)+l1(x)1.这里,这里,l0(x)和和l1(x)具有如下性质:具有如下性质:l0(x0)=1,l0(x1)
7、=0,l1(x0)=0,l1(x1)=1,第7页/共160页 由此启发,我们希望二次插值也能由一些二次插值基函数来线性组合由此启发,我们希望二次插值也能由一些二次插值基函数来线性组合:这时,这时,l0(x),l1(x),l2(x)都是二次多项式,且应满足都是二次多项式,且应满足满足满足(2.1)式的式的 l i(x)是否存在是否存在?若存在,具有什么形式呢若存在,具有什么形式呢?(2.1)第8页/共160页同理可得同理可得 l1(x)1(x x0)(x x2),l2(x)2(x x0)(x x1),1(x1x0)(x1x2)12(x2x0)(x2x1)1此即此即二次二次拉格朗日插值公式拉格朗日
8、插值公式,其中其中,l0(x),l1(x),l2(x)是满足是满足(2.1)的特殊的特殊(基本基本)二次插值多项式二次插值多项式;称为称为二次插值基函数二次插值基函数.P2(x)=y0+y1+y2(x-x0)(x-x2)(x1-x0)(x1-x2)(x-x1)(x-x2)(x0-x1)(x0-x2)(x-x0)(x-x1)(x2-x0)(x2-x1)先考虑先考虑 l0(x)。因。因 l0(x)是以是以 x1,x2 为零点的二次多项式为零点的二次多项式,所以它可写成所以它可写成 l0(x)0(x x1)(x x2),其中其中 0 是待定系数。是待定系数。又因为又因为 l0(x0)=1,所以,所以
9、 0(x0 x1)(x0 x2)1,则可有,则可有0(x0 x1)(x0 x2)1 l0(x)0(x x1)(x x2),第9页/共160页n 1希望找到希望找到li(x),i=0,n 使得使得 li(xj)=ij;然后令;然后令=niiinyxlxP0)()(,则显然有,则显然有Pn(xi)=yi。li(x)每个每个 li 有有 n 个根个根 x0 xi xn=njj i jiniiixxCxxxxxxCxl00)().().()(=j i jiiiixxCxl)(11)(拉格朗日拉格朗日 多项式多项式与与 有关,而与有关,而与 无关无关节点节点f1.3 n 次插值次插值第10页/共160页
10、定理定理 (唯一性唯一性)满足满足 的的 n 阶插值阶插值多项式是唯一存在的。多项式是唯一存在的。证明:证明:(存在性存在性可利用可利用Vandermonde 行列式行列式论证论证)反证:若不唯一,则除了反证:若不唯一,则除了Ln(x)外还有另一外还有另一 n 阶多项阶多项式式 Pn(x)满足满足 Pn(xi)=yi。考察考察 则则 Qn 的阶数的阶数 n而而 Qn 有有 个不同的根个不同的根n+1x0 xn注:注:若不将多项式次数限制为若不将多项式次数限制为 n,则插值多项式,则插值多项式不唯一不唯一。例如例如 也是一个插值多项式,也是一个插值多项式,其中其中 可以是任意多项式。可以是任意多
11、项式。第11页/共160页设节点设节点在在a,b内存在内存在,考察截断误差考察截断误差,且,且 f 满足条件满足条件 ,Rolles Theorem:若若 充分光滑,充分光滑,则,则存在存在 使得使得 。推广:推广:若若使使得得使使得得存存在在使使得得Rn(x)至少有至少有 个根个根n+1=niinxxxKxR0)()()(任意固定任意固定 x xi (i=0,n),考察考察=niixtxKtRnt0)()()()(t)有有 n+2 个不同的根个不同的根 x0 xn x!)1()()()1(+-+nxKRxnn 注意这里是对注意这里是对 t 求导求导=+!)1)()()()1()1(nxKLf
12、xnnxn !)1()()()1(+=+nfxKxn 1.4 插值余项插值余项(Remainder)第12页/共160页注:注:通常不能确定通常不能确定 x,而是估计而是估计 ,x(a,b)将将 作为误差估计上限。作为误差估计上限。当当 f(x)为任一个次数为任一个次数 n 的的多项式多项式时,时,,可知可知 ,即插值多项式对于次数,即插值多项式对于次数 n 的的多项式多项式是是精确精确的。的。第13页/共160页例例1 求经过求经过A(0,1),B(1,2),C(2,3)三个插值点的插值多项式三个插值点的插值多项式.解:解:三个插值节点及对应的函数值为三个插值节点及对应的函数值为由抛物插值公
13、式得由抛物插值公式得第14页/共160页例例2:已已知知分别利用分别利用 sin x 的的1次、次、2次次 Lagrange 插值计算插值计算 sin 50 并估计误差。并估计误差。解:解:n=1分别利用分别利用x0,x1 以及以及 x1,x2 计算计算利用利用这里这里而而sin 50 =0.7660444)185(50sin10 p pL0.77614外推外推 (extrapolation)的实际误差的实际误差 0.010010.01001利用利用sin 50 0.76008,内插内插 (interpolation)的实际误差的实际误差 0.005960.00596内插通常优于外推。选择要计
14、算的内插通常优于外推。选择要计算的 x 所在的区间的端点,插值效果较好。所在的区间的端点,插值效果较好。第15页/共160页n=2)185(50sin20 p pL0.76543sin 50 =0.76604442次插值的实际误差次插值的实际误差 0.000610.00061高次插值通常优于低次插值高次插值通常优于低次插值,但绝对不是次数越高就越好但绝对不是次数越高就越好第16页/共160页 例例3 考虑下述的插值法问题:求二次多项式考虑下述的插值法问题:求二次多项式P(x),满足,满足P(x0)=y0,其中其中 是已给的数据并给出使这一问题的解存在且唯一的条件是已给的数据并给出使这一问题的解
15、存在且唯一的条件.解解:设:设 则则 由已知条件有由已知条件有即即 所以所以故原问题的唯一可解性就归结为上述方程组的唯一可解性而后者唯一可解的充要条件为故原问题的唯一可解性就归结为上述方程组的唯一可解性而后者唯一可解的充要条件为这就是这就是P(x)存在且唯一的条件。)存在且唯一的条件。第17页/共160页 回顾回顾 拉格朗日插值公式拉格朗日插值公式 1.5 拉格朗日插值公式的优缺点拉格朗日插值公式的优缺点第18页/共160页n 1希望找到希望找到li(x),i=0,n 使得使得 li(xj)=ij;然后令;然后令=niiinyxlxP0)()(,则显然有,则显然有Pn(xi)=yi。li(x)
16、每个每个 li 有有 n 个根个根 x0 xi xn=njj i jiniiixxCxxxxxxCxl00)().().()(=j i jiiiixxCxl)(11)(拉格朗日拉格朗日 多项式多项式与与 有关,而与有关,而与 无关无关节点节点f拉格朗日插值公式拉格朗日插值公式 第19页/共160页 Lagrange插值插值公式公式(利用利用插值基函数插值基函数很容易得到很容易得到):含义直观含义直观,结构紧凑结构紧凑,在理论分析中非常方便在理论分析中非常方便;计算机上计算机上实现实现也很也很容易容易.也有一些也有一些缺点缺点:一是一是计算量大计算量大,这是显然的;另外,还有一个更严重的缺点,当
17、插值节点增加时,这是显然的;另外,还有一个更严重的缺点,当插值节点增加时,全部插值基函数全部插值基函数均要随之均要随之变化变化,整个计算工作必须从头开始:不仅原来的每一项都要改变,还要,整个计算工作必须从头开始:不仅原来的每一项都要改变,还要增加一项增加一项计算。计算。为克服上述两个缺点为克服上述两个缺点,努力:把插值多项式变形为努力:把插值多项式变形为便于计算便于计算的形式。的形式。希望:希望:计算改变的过程中计算改变的过程中,尽可能能利用已有的计算结果尽可能能利用已有的计算结果.下面我们将看到下面我们将看到,这是可能的。我们可以有具有这是可能的。我们可以有具有“承袭性承袭性”的所谓牛顿公式
18、。的所谓牛顿公式。第20页/共160页*1 拉格朗日插值的拉格朗日插值的Matlab实现实现常用的几个函数常用的几个函数(一一)POLY 函数函数调用格式调用格式:Y=poly(V)(二二)POLYVAL 函数函数调用格式调用格式:Y=polyval(p,x)返回矩阵特征多项式的系数。返回n次多项式p在x处的值。输入变量p=p0 p1 p2pn是一个长度为n+1的向量,其元素为按降排列的多项式系数。如输入程序如输入程序Y=poly(3);则返回;则返回1 -3,即其特征多项式为,即其特征多项式为x-3如如对多项式对多项式 ,计算在计算在x=5,7,9 的值。的值。第21页/共160页(三三)P
19、OLY2SYM 函数函数调用格式一调用格式一:poly2sym(C)调用格式二调用格式二:f1=poly2sym(C,V)或 f2=poly2sym(C,sym(V)输入程序 p=3 2 1;x=5,7,9;polyval(p,x)结果为ans=86 162 262把多项式的系数向量转化为符号多项式如输入程序如输入程序 c=1-3;y=poly2sym(c);则返回;则返回y=x-3如输入程序如输入程序 c=1-3;y=poly2sym(c,s);或者或者 c=1-3;y=poly2sym(c,sym(s);则返回则返回y=s-3第22页/共160页(四四)CONV 函数函数调用格式调用格式:
20、C=conv(A,B)返回两个多项式乘积的多项式系数,即卷积和如输入程序如输入程序 A=1-3;B=1-2;C=conv(A,B)则返回则返回C=1 -5 6A、B为两个多项式的系数(五五)DECONV 函数函数调用格式调用格式:Q,R=deconv(B,A)conv函数的逆函数,返回两个多项式相除的多项式系数及其余数,即反卷积和若输入程序若输入程序 C=1-5 7;A=1-3;B,R=deconv(C,A)则输出则输出B=1 -2 R=0 0 1如输入程序如输入程序 C=1-5 6;A=1-3;B,R=deconv(C,A)则输出则输出B=1 -2 R=0 0 0第23页/共160页(六六)
21、roots(poly(1:n)命令命令调用格式:调用格式:roots(poly(1:n)(七七)det(a*eye(size(A)-A)命令命令调用格式:调用格式:b=det(a*eye(size(A)-A)如输入程序如输入程序 C=1-3 2;roots(C)输出结果为输出结果为ans=2.0000 1.0000数值解数值解输入输入 poly(1:2)输出输出ans=1 -3 2输入输入 roots(poly(1:2)输出输出ans=2 11到到n的等差数列,其中的等差数列,其中n roots(poly(1:4)输出输出ans=4.0000 3.0000 2.0000 1.0000若常数a为
22、矩阵A的特征值,则返回0返回n到1的数值第24页/共160页例例*1-1已知函数f(x)在1,3上具有二阶连续导数,且满足条件f(1)=1,f(3)=2,求线性插值多项式和函数值 f(1.5),并估计其误差。解解:输入程序 X=1,3;Y=1,2;l01=poly(X(2)/(X(1)-X(2),l11=poly(X(1)/(X(2)-X(1),l0=poly2sym(l01),l1=poly2sym(l11),P=l01*Y(1)+l11*Y(2),L=poly2sym(P),x=1.5;Y=polyval(P,x)运行后输出基函数l0和l1及其插值多项式的系数向量P、插值多项式L和插值Y为
23、l0=l1=L=Y=-1/2*x+3/2 1/2*x-1/2 1/2*x+1/2 1.2500一、线性插值的一、线性插值的Matlab程序程序逗号会将本句程序的结果输出到命令窗口,分号则不会输出第25页/共160页输入程序 M=5;R1=M*abs(x-X(1)*(x-X(2)/2运行后输出误差限为 R1=1.8750例例*1-2求函数f(x)=e-x在0,1上线性插值多项式,并估计其误差.解:解:输入程序 X=0,1;Y=exp(-X),l01=poly(X(2)/(X(1)-X(2),l11=poly(X(1)/(X(2)-X(1),l0=poly2sym(l01),l1=poly2sym
24、(l11),P=l01*Y(1)+l11*Y(2),L=poly2sym(P),运行后输出基函数l0和l1及其插值多项式的系数向量P和插值多项式L为l0=-x+1 l1=x P=-0.6321 1.0000第26页/共160页输入程序 M=1;x=0:0.001:1;R1=M*max(abs(x-X(1).*(x-X(2)./2运行后输出误差限为 R1=0.1250.点乘和点除表示向量对应相乘和对应相除二、抛物线插值的二、抛物线插值的Matlab程序程序例例*1-3求将区间0,/2分成n等份(n=1,2),用y=f(x)=cos(x)产生n+1个节点,分别作线性插值函数和抛物线插值函数,并用它
25、们分别计算cos(/6)(取四位有效数字),并估计其误差.解:解:n=1输入程序 X=0,pi/2;Y=cos(X),l01=poly(X(2)/(X(1)-X(2),l11=poly(X(1)/(X(2)-X(1),l0=poly2sym(l01),l1=poly2sym(l11),P=l01*Y(1)+l11*Y(2),L=poly2sym(P),x=pi/6;Y=polyval(P,x)第27页/共160页运行后输出基函数l0和l1及其插值多项式的系数向量P、插值多项式和插值为P=-0.6366 1.0000Y=0.6667输入程序 M=1;x=pi/6;R1=M*abs(x-X(1)*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 插值法 及其 matlab 实现 教案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内