1、1/5014:50插值的应用背景插值的应用背景拉格朗日插值公式拉格朗日插值公式牛顿插值公式牛顿插值公式插值误差余项插值误差余项Runge反例反例数值分析 122/5014:503/5014:504/5014:50趣例趣例1:图像放大图像放大5/5014:50趣例趣例2:工业设计工业设计http:/ Paul de Casteljau 和和Pierre Bzier,随后美国通用汽车的随后美国通用汽车的其它人一起推动了现在称为三次样条和其它人一起推动了现在称为三次样条和Bzier 样条的建立。样条是通过样条的建立。样条是通过很少的控很少的控制点就能够生成复杂平滑曲线制点就能够生成复杂平滑曲线的方法
2、。的方法。6/5014:50趣例趣例3:数据可视化数据可视化http:/ 0 1 1)x,y=ginput;n=length(x);s=(1:n);t=(1:.05:n);u=splinetx(s,x,t);v=splinetx(s,y,t);clf resetplot(x,y,.,u,v,-);9/5014:50数据和插值函数数据和插值函数 如果一个函数如果一个函数P(x)满足满足yi=P(xi)(i=0,n),那么那么函数函数P(x)插值了一系列数据点插值了一系列数据点(x0,y0),(xn,yn),其中其中P(x)称为称为插值函数插值函数,点点x0,xn称为称为插值节点插值节点。x0 x
3、1x2x3x4xP(x)函数是描述自然界客观规律的重要工具。函数是描述自然界客观规律的重要工具。10/5014:50插值问题研究包括如下三个方面插值问题研究包括如下三个方面:插值函数的选择和构造插值函数的选择和构造插值函数的存在唯一性插值函数的存在唯一性插值误差估计的问题插值误差估计的问题11/5014:50)()(001010 xxxxyyyxL 过两点直线方程过两点直线方程已知函数表求满足已知函数表求满足:L(x0)=y0,L(x1)=y1的线性函数的线性函数 L(x)x x0 x1 f(x)y0 y1例例 求求 的近似值的近似值(函数值函数值:10.7238)11510.7143)100
4、115(100121101110115 真实值真实值:10.723812线性插值函数线性插值函数x0 x1(x0,y0)(x1,y1)L1(x)可见可见 是过是过 和和 两点的直线。两点的直线。13抛物插值函数抛物插值函数x0 x1x2因过三点的二次曲线为抛物线因过三点的二次曲线为抛物线,故称为抛物插值。故称为抛物插值。14/5014:50 选择多项式函数的理由选择多项式函数的理由:理论方面理论方面多项式函数简单明了的数学性质。多项式函数简单明了的数学性质。有一个简单的原理可以说明什么时候存在给定有一个简单的原理可以说明什么时候存在给定次数的插值多项式。次数的插值多项式。更重要的是更重要的是计
5、算方面计算方面多项式函数是计算机多项式函数是计算机最基本的函数最基本的函数,计算多项式函数的值只需用加计算多项式函数的值只需用加和乘运算和乘运算,且积分和微分均非常方便。且积分和微分均非常方便。插值函数的选择插值函数的选择:15/5014:50则称则称 P(x)为为 插值多项式插值多项式,称称 x0,x1,xn为为 插插值节点。值节点。如果如果 P(x)=a0+a1x+anxn满足满足 P(xk)=yk (k=0,1,n)考虑区间考虑区间a,b上上(n+1)个点个点a x0 x1xnb。代数插值问题代数插值问题插值条件插值条件16/5014:50点点,则满足插值条件则满足插值条件 L(xk)=
6、yk(k=0,1,n)的的 次次数小于等于数小于等于n次次的插值多项式的插值多项式 L(x)=a0+a1x+anxn存在而且唯一存在而且唯一。nnnnnnnnnyxaxaayxaxaayxaxaa101111000010证明证明:由插值条件由插值条件L(x0)=y0L(x1)=y1L(xn)=yn定理定理5.1 若插值结点若插值结点x0,x1,xn 是是(n+1)个互异个互异17/5014:5000111 1det()1nnnnnxxxxAxx 回顾回顾1:非齐次方程组有唯一解的充分必要条件是系数非齐次方程组有唯一解的充分必要条件是系数矩阵可逆矩阵可逆(矩阵可逆的充分必要条件是行列式不等于零矩
7、阵可逆的充分必要条件是行列式不等于零)。系数矩阵行列式不等于零系数矩阵行列式不等于零,则方程组有唯一解。因此则方程组有唯一解。因此插值多项式插值多项式 L(x)存在且唯一。存在且唯一。0()0ijij nxx 回顾回顾2:范德蒙范德蒙(Vandermonde)矩阵矩阵0011102002131101211 1det()()()()()()()()nnnnnijnnj i nnnxxxxAxxAxxxxxxxxxxxxxxxx 则则()=()=21()()nnnnxxxx18/5014:50注释注释:插值多项式的存在唯一性说明满足插值插值多项式的存在唯一性说明满足插值条件的多项式存在而且与条件的
8、多项式存在而且与构造方法无关构造方法无关。只要插值节点互异只要插值节点互异,则则Vandermonde矩阵矩阵总是非奇异。然而范得蒙矩阵条件数通常很总是非奇异。然而范得蒙矩阵条件数通常很大大,故直接求解方程组是危险的故直接求解方程组是危险的。Hilbert和和Vandermonde条件数条件数:for i=1:10c(i)=cond(hilb(i),2);%vander(1:i)endplot(1:10,c)19/5014:50)()(001010 xxxxyyyxL 过两点直线方程过两点直线方程已知函数表求满足已知函数表求满足:L(x0)=y0 和和 L(x1)=y1的线性函数的线性函数 L
9、(x)。x x0 x1 f(x)y0 y120/5014:5010010101,()()xxxxxxxlxxlx 记记x x0 x1l0(x)1 0l1(x)0 11100)()()(yxlyxlxL 01010110()xxxxL xyyxxxx 对称形式对称形式001011110,0,yyyyyy 21/5014:50二次插值问题二次插值问题 x x0 x1 x2 f(x)y0 y1 y2已知函数表已知函数表求函数求函数 L(x)=a0+a1x+a2 x2 满足满足:L(x0)=y0,L(x1)=y1,L(x2)=y2L(x)=l0(x)y0+l1(x)y1+l2(x)y2l0(x)100
10、l1(x)010l2(x)0 01L(x)y0y1y2 xx0 x1 x222/5014:50)()()(2010210 xxxxxxxxxl 二次插值函数二次插值函数:L(x)=l0(x)y0+l1(x)y1+l2(x)y2,l0(x)100l1(x)010l2(x)0 01L(x)y0y1y2 xx0 x1 x2)()()(2101201xxxxxxxxxl )()()(1202102xxxxxxxxxl 23/5014:50二次插值基函数图形二次插值基函数图形取取 x0=0,x1=0.5,x2=1l0(x)=2(x 0.5)(x 1);l1(x)=4 x(x 1);l2(x)=2(x 0
11、.5)x24/5014:50拉格朗日插值公式拉格朗日插值公式插值条件插值条件:L(xk)=yk (k=0,1,n)nnnyxlyxlyxlxL)()()()(1100 )()()()()()()(110110nkkkkkknkkkxxxxxxxxxxxxxxxxxl 其中第其中第k 个个插值基函数插值基函数(k=0,1,,n)。0()()()njkjkjjkxxlxxx 或或0()()()njnkkjkjj kxxLxyxx 紧紧凑凑格格式式25/5014:50例例1求插值于点求插值于点(0,2),(1,1),(2,0),(3,-1)的的次数次数小于等于小于等于3的插值多项式的拉格朗日形式。的
12、插值多项式的拉格朗日形式。(1)(2)(3)(0)(2)(3)()21(01)(02)(03)(10)(12)(13)(0)(1)(3)(0)(1)(2)+01(20)(21)(23)(30)(31)(32)=+2xxxxxxL xxxxxxxx 0()()()njnkkjkjj kxxLxyxx 26/5014:50例例2求插值于点求插值于点(-2,-56),(-1,-16),(0,-2),(1,-2),(3,4)的次数小于等于的次数小于等于4的插值多项式拉格朗日形式。的插值多项式拉格朗日形式。(1)(0)(1)(3)(2)(0)(1)(3)()5616(21)(20)(21)(23)(12
13、)(10)(11)(13)(2)(1)(1)(3)(2)(1)(0)(3)22(02)(01)(01)(03)(12)(11)(10)(13)xxxxxxxxL xxxxxxxxx 23(2)(1)(0)(1)4(32)(31)(30)(31)=2572xxxxxxx 27/5014:50程序片段程序片段1:Matlab Code:多项式插值多项式插值(拉格朗日形式拉格朗日形式)function v=polyinterp(x,y,u)%POLYINTERP Polynomial interpolation.%v=POLYINTERP(x,y,u)computes v(j)=P(u(j)wher
14、e P is the%polynomial of degree d=length(x)-1 with P(x(i)=y(i).%Use Lagrangian representation.%Evaluate at all elements of u simultaneously.n=length(x);v=zeros(size(u);for k=1:n w=ones(size(u);for j=1:k-1 k+1:n w=(u-x(j)./(x(k)-x(j).*w;end v=v+w*y(k);end28/5014:50Demo2x=0:3;y=-5-6-1 16;u=-.25:.01:3.
15、25;v=polyinterp(x,y,u);plot(x,y,o,u,v,-)symx=sym(x),L=polyinterp(x,y,symx);L=simplify(L);29/5014:50 拉格朗日形式结构紧凑拉格朗日形式结构紧凑且且形式对称。然形式对称。然而很少用它来计算而很少用它来计算,这是因为等价的牛顿形这是因为等价的牛顿形式更具操作性而且计算复杂度更低。式更具操作性而且计算复杂度更低。000111 ()()()nnnxyf xxyf xxyf x 牛顿形式相对简单牛顿形式相对简单,但是某些记号首先需但是某些记号首先需要掌握。把数据点看作由某个函数给出要掌握。把数据点看作由某个
16、函数给出,并并把数据点列成下表把数据点列成下表:插值多项式的牛顿形式插值多项式的牛顿形式30/5014:50给定给定x0,x1和和 x2,求二次函数求二次函数 P(x)=a0+a1(x x0)+a2(x x0)(x x1)满足条件满足条件 P(x0)=f(x0),P(x1)=f(x1),P(x2)=f(x2)()()()()()(21202202101011000 xfxxxxaxxaaxfxxaaxfa 满足插值条件的关于满足插值条件的关于a0,a1和和a2方程方程插值多项式牛顿形式插值多项式牛顿形式31/5014:50010101()(),f xf xf xxxx 121212()(),f
17、 xf xf xxxx 011201202,f xxf xxf xxxxx 解下三角方程组过程中引入符号解下三角方程组过程中引入符号a0=f(x0),a1=fx0,x1,a2=fx0,x1,x2P(x)=f(x0)+fx1,x2(x x0)+fx0,x1,x2(x x0)(x x1)牛顿插值公式牛顿插值公式:32/5014:50定义定义5.3 若已知函数若已知函数 f(x)在点在点 x0,x1,xn 处的处的值值 f(x0),f(x1),f(xn)。如果如果 i j,则则(j=0,1,n-1)一阶差商一阶差商n阶差商阶差商111000,nnnnfxxxxxxxxxff 111()(),jjjj
18、jjf xf xf xxxx 二阶差商二阶差商222111,jjjjjjjjjxxxxxffxxf xx 三阶差商三阶差商123331212,jjjjjjjjjjjjfxxf xxxxxxxxxfx 差商差商(divided difference)33/5014:50更加一般地考虑更加一般地考虑000110101001 ()()()()()()()nnnnnnaf xaa xxf xaa xxaxxxxf x 牛顿插值形式牛顿插值形式求解该方程组可得待定系数如下求解该方程组可得待定系数如下:a0=f(x0),a1=fx0,x1,a2=fx0,x1,x2,an=fx0,x1,xn。0010010
19、1201011()()()()+()(),)(,),nnf xf xxf xxxfP xxxxxxxxxxxxxxxx 001010121()()()()+()()()nnP xxxxxxxxxxxaaaxax 34/5014:50例例3 已知数据如下表已知数据如下表,试计算数据的差商。试计算数据的差商。2 561 16 0 2 1 23 4 4014 0 3 13 7 1 2 20111000,nnnnfxxxxxxxxxff 35/5014:50例例2求插值于点求插值于点(-2,-56),(-1,-16),(0,-2),(1,-2),(3,4)的次数小于等于的次数小于等于4的插值多项式拉格
20、朗日形式。的插值多项式拉格朗日形式。(1)(0)(1)(3)(2)(0)(1)(3)()5616(21)(20)(21)(23)(12)(10)(11)(13)(2)(1)(1)(3)(2)(1)(0)(3)22(02)(01)(01)(03)(12)(11)(10)(13)xxxxxxxxL xxxxxxxxx 23(2)(1)(0)(1)4(32)(31)(30)(31)=2572xxxxxxx 36/5014:50例例4 已知数据如下表已知数据如下表,试计算数据的插值多项式。试计算数据的插值多项式。2 561 16 0 2 1 23 4 4014 0 3 13 7 1 2 20 ()56
21、(2)(2)(+1)(2)(+1)(-0)(2)(+1)(-0)2(-1)14003+P xxxxxxxxxxx (1)(132(-0)()5(2 )(40)6Pxxxx 00100101201011()()()()+()(),)(,),nnf xf xxf xxxfP xxxxxxxxxxxxxxxx 37/5014:50例例5 已知数据如下表已知数据如下表,试计算数据的插值多项式。试计算数据的插值多项式。2 561 16 0 2 1 23 4 4 7 40 14 0 3 3 13 7 1 0 2 2-1/4 0-9/20 加入一个新的点到加入一个新的点到Lagrange形式所需要额外工作形
22、式所需要额外工作与牛顿形式进行比较是很有趣的。牛顿形式具有与牛顿形式进行比较是很有趣的。牛顿形式具有Lagrange形式所缺少的形式所缺少的”实时更新实时更新”性质。性质。38/5014:50011011(),()()()()nknkkkkkkknf xf xxxxxxxxxxx 差商的性质差商的性质00100101201011()()()()+()(),)(,),nnf xf xxf xxxfP xxxxxxxxxxxxxxxx 0()()()()njkkjkjj kxxP xf xxx 差商的值不依赖于差商的值不依赖于x0,x1,xn的次序。的次序。39/5014:50压缩的概念压缩的概念
23、:观测的离散数据可以想象成现实中无穷多观测的离散数据可以想象成现实中无穷多信息的代表。通过给定数据求出插值函数意味信息的代表。通过给定数据求出插值函数意味着用简单的规则代替无穷多信息。尽管期待这着用简单的规则代替无穷多信息。尽管期待这种简单规则精确地反映实际情况是不现实的种简单规则精确地反映实际情况是不现实的,但是它但是它可以充分接近实际可以充分接近实际。这一类压缩是这一类压缩是有损的压缩有损的压缩,即它会产生误差。即它会产生误差。用简单规则代替无穷多信息时会产生多大的误用简单规则代替无穷多信息时会产生多大的误差差,这是我们下面研究的内容。这是我们下面研究的内容。40/5014:5000111
24、010)(yxxxxyxxxxxL 两点线性插值两点线性插值插值误差余项插值误差余项:R(x)=f(x)L1(x)由插值条件知由插值条件知 R(x)=C(x)(x x0)(x x1)即即 f(x)L(x)=C(x)(x x0)(x x1)C(x)=?41/5014:50Rolle过山车过山车:(),(,),()(),()=0f xa ba bf af bf 设设函函数数在在闭闭区区间间连连续续 在在开开区区间间可可微微且且则则至至少少存存在在一一点点 使使得得。42/5014:50回顾回顾:拉格朗日中值定理拉格朗日中值定理(),(,),(,)()()()=f xa ba ba bf bf af
25、ba 设设函函数数在在闭闭区区间间连连续续 在在开开区区间间可可微微则则至至少少存存在在一一点点使使得得 。()():()()()()f bf aF xf xf axaba 思思路路43/5014:50Ln(x)是满足是满足Ln(xk)=f(xk)的的n次插值多项式次插值多项式,则则对任何对任何xa,b,在在(a,b)内存在一点内存在一点 使得使得(1)1()()()(1)!nnnnfxRxf xLxnx 余余项项101()()()()nnxxxxxxx 。其中其中定理定理5.2 设设 f(x)在在a,b连续且在连续且在(a,b)具有具有n+1阶导数阶导数,x0,x1,xn是是a,b内互不相同
26、的节点内互不相同的节点。()x 44/5014:50证明证明:记记 n+1(x)=(x x0)(x xn)(0,),()(),(,)kkkxxknf xL xa b 首首先先注注意意到到如如果果则则在在内内任任意意选选择择 均均成成立立。(0,),kxxkna bt如如果果则则考考虑虑在在内内定定义义关关于于 的的函函数数如如下下。00()()()()()()()()()nntxtxg tf tL tf xL xxxxx00()()()()()()()()()()()=0()()00kkkkknkkkknt xxxxxxxg xf xL xf xL xxxxxxxf xL x对对=有有45/5
27、014:5000()()()()()()()()()=()()()()0nnnnnnt xxxxxg xf xLxf xLxxxxxf xLxf xLx对对=有有(1)()2Rolle,()(,)1,()(,)1ng tng ta bngta b 所所以以至至少少有有+个个互互异异的的零零点点。根根据据定定理理 在在内内至至少少存存在在+个个相相异异的的零零点点。以以此此类类推推在在内内至至少少存存在在 个个零零点点。(1)(1)0(1)0(),(+1)!0()()()()()()()()()()()(+1)!nnnnnnnxngff xLxxxxxff xLxxxxxn 故故存存在在使使得得
28、整整理理即即得得46/5014:50(1)0(1)10()()Taylor()=Taylor()(+1)!()()(+1)!)=nnnnR xfxxxxnfxnR xx 插插值值余余项项与与展展式式余余项项的的异异同同插插值值余余项项展展式式余余项项注释注释:47/5014:50例例1 给出如下数据给出如下数据 x 0.32 0.34 0.36 sin(x)0.314567 0.333487 0.3522741010010sin0.3367(0.3367)(0.3367)0.330365yyLyxxx 用线性插值及抛物插值计算用线性插值及抛物插值计算sin0.3367的值并估计误差。的值并估计
29、误差。015111012|sin0.3367(0.3367)|()|max|sin|()()|0.9 2 10 xx xLR xxxxxx 2sin0.3367(0.3367)0.330374L026122012|sin0.3367(0.3367)|()|max|sin|()()|0.178 10 xx xLRxxxxxx 48/5014:50例例2 设设 y=f(x)在区间在区间 a,b上连续上连续,且且 f(x)在在(a,b)内具有内具有2阶导数阶导数,已知已知f(x)在区间端点处的值。在区间端点处的值。如果当如果当x(a,b)时有时有|f(x)|M。证明证明21)(8|)(|abMxR
30、证明证明 由由Lagrange插值误差公式插值误差公式)(2)()()()(11bxaxfxLxfxR 令令h(x)=|(x a)(x b)|4)()2()(max2abbahxhbxa 21)(8|)(|abMxR 49/5014:50Runge反例反例(rungeinterp)f(x)=1/(x2+1),(-5=x=5)x=-5:5;y=1./(x.2+1);u=-5:.01:5;v=polyinterp(x,y,u);plot(x,y,o,u,v,-)一般认为一般认为Ln(x)的次数的次数n越高逼近越高逼近f(x)的精度越好?的精度越好?50/5014:50Interploation(内插内插)Extrapolation (外推)(外推))()()(101nnxxxxxxx 51/5014:50插值方法具有预测性吗?插值方法具有预测性吗?美国美国Wired杂志杂志Mathematician Predicts Who Will Live and Die in Game of ThronesWhen Extrapolation Fails Us:Incorrect Mathematical Conjectures