1、第二章 插值与拟合2.3 三次样条插值三次样条插值 总结总结2.3.4 三次样条插值函数的误差估计三次样条插值函数的误差估计2.3.3 三转角算法三转角算法 2.3.2 三弯矩算法三弯矩算法 2.3.1 三次样条插值函数的概念三次样条插值函数的概念第二章 插值与拟合2.3 三次样条插值三次样条插值学习目标:学习目标:知道三次样条插值函数的概念,会求知道三次样条插值函数的概念,会求三次样条插值函数,进行误差分析。三次样条插值函数,进行误差分析。第二章 插值与拟合高次插值出现龙格现象高次插值出现龙格现象L-插值(牛顿插值(牛顿插值)插值)Hermite插值插值 分段分段插值插值但分段线性插值在节点
2、处不一定光滑但分段线性插值在节点处不一定光滑分段分段Hermite插值插值但但导数值导数值不容易提取(找到)不容易提取(找到)三次样条插值(先由三次样条插值(先由函数值函数值确定确定导数值导数值,再由,再由分段分段Hermite插值解决问题插值解决问题)举例:举例:1 1 汽车、船的外形设计,流体力学等要求流线型(光滑);汽车、船的外形设计,流体力学等要求流线型(光滑);2 2 木样条的来源。木样条的来源。2.3.1 三次样条插值函数的概念三次样条插值函数的概念一、背景一、背景第二章 插值与拟合二、样条函数的定义二、样条函数的定义 设在区间设在区间 上取上取 个节点个节点 给定给定这些点的函数
3、值这些点的函数值 若满足条件:若满足条件:,ba1 n).,2,1,0()(nifxfii,10bxxxan)(xS;,2,1,0,)()2(;,)()1(2nifxSbaCxSii(3)在每个小区间在每个小区间 上,上,是三次多项式。是三次多项式。则称则称 为为三次样条插值函数。三次样条插值函数。,1xxkk)(xS)(xS定义定义 9 9 (3 3次样条函数)次样条函数)提出问题:提出问题:)(xS3次样条插值函数次样条插值函数是否存在是否存在?是否唯一是否唯一?如何计算如何计算?误差估计误差估计?第二章 插值与拟合三次样条插值函数是分段三次多项式,在每个小区间三次样条插值函数是分段三次多
4、项式,在每个小区间 上可以写成上可以写成,1xxkk,1,2,1,0,)(23nidxcxbxaxSiiii其中其中 和和 为待定系数。所以,为待定系数。所以,共有共有 个待定参数。个待定参数。根据根据 在上二阶导数连续的条件,在节点在上二阶导数连续的条件,在节点 处应满足连续性条件处应满足连续性条件cbaiii,di)(xS)(xS,ba)1,2,1,0(nixi,2,1,0),0(0kxSxSikikn4共有共有 个条件。再加上个条件。再加上 个插值条件,共有个插值条件,共有 个条个条件。因此,还需要件。因此,还需要2个条件才能确定个条件才能确定 。通常在区间。通常在区间 端端点和点和 上
5、各加一个条件(称为上各加一个条件(称为边界条件边界条件),可根据实),可根据实际问题的要求给定。通常有以下三种:际问题的要求给定。通常有以下三种:)1(3n1n24 n)(xS,ba0 xa nxb 第二章 插值与拟合(1)已知两端的一阶导数值,即)已知两端的一阶导数值,即00)(,)(nnfxSfxS(2.3.1)(2)已知两端的二阶导数值,即)已知两端的二阶导数值,即.)(,)(00nnfxSfxS (2.3.2)其特殊情况为其特殊情况为.0)(,0)(0 nxSxS)2.3.2((3)周期边界条件)周期边界条件.2,1,0),()(0kxSxSnkk)3.3.2(此时,对函数值有周期条件
6、此时,对函数值有周期条件00ff 注:注:一般不取一端是一阶导数而另一般不取一端是一阶导数而另一端是二阶导数一端是二阶导数。第二章 插值与拟合2.3.2 三弯矩算法三弯矩算法三次样条插值函数三次样条插值函数 可以有多种表达式,有时用二阶导数可以有多种表达式,有时用二阶导数值值 表示时,使用更方便。表示时,使用更方便。在力学上解释在力学上解释为细梁在为细梁在 处的弯矩,并且得到的弯矩与相邻两个弯矩有关,故处的弯矩,并且得到的弯矩与相邻两个弯矩有关,故称用称用 表示表示 的算法为的算法为三弯矩算法三弯矩算法。)(xS),1,0()(niSMxii MixiMi)(xS对对 积分两次积分两次,并利用
7、插值条件定出积分常数并利用插值条件定出积分常数,可以得到可以得到 )(xiS fxfxiiiiSS11,)()(.,)6()6(1)(1211123136)(6)(xxhxhMfhxhMfhxxMhxxMiiiiiiiiiiiiiixxixiiixS (2.3.4)由于由于 在区间在区间 上是三次多项式,上是三次多项式,故故 在在 上是线性函数,可表示为上是线性函数,可表示为)(xS)(xiS )1,1,0(,1nixxii,1xxkk,)(110hxMhxMxiiiiiixxS .1xxhiii其中其中第二章 插值与拟合 这是三次样条插值函数的表达式,当求出这是三次样条插值函数的表达式,当求
8、出 后后,就由就由(2.3.4)完全确定完全确定.),2,1,0(niMi)(xS对对 求导得求导得)(xS),(6,1)(112122)(2)(MMhxxhxxMhxxMiiiiiiiiifiixS 由此可得由此可得).(6,)0(),(6,)0(2211111MMhxxxMMhxxxiiiiiiiiiiiifSfS 当当 时时,的表达式由的表达式由(2.3.4)平移下标可得平移下标可得,因此有因此有,1xxiix )(xS).(6,)0(2111MMhxxxiiiiiifS 利用条件利用条件 得得)0()0(xxiiSS第二章 插值与拟合,1,2,1,0,21 nidMMMiiiiii (
9、2.3.5)其中其中 .,6,1,1,1111xxxdhhhhhhiiiiiiiiiiiiif (2.3.6)(2.3.7)方程组方程组(2.3.5)是关于是关于 的方程组的方程组,有有 个未知数个未知数,但只有但只有 个方程个方程.可由可由(2.3.1)(2.3.3)的任一种边界条件补充两个方程。的任一种边界条件补充两个方程。Mi1 n1 n对于边界条件(对于边界条件(2.3.1),可以导出两个方程),可以导出两个方程 ).,(6),(621110100102xxfhMMfxxhMMnnnnnnff(2.3.8)第二章 插值与拟合这样这样,由由(2.3.5)和和(2.3.8)可解出可解出 ,
10、从而得,从而得 的表达式的表达式(2.3.4),若令若令 则则(2.3.5)和和(2.3.8)可以写成矩阵形式可以写成矩阵形式),1,0(niMi)(xS,10n),(601000fxxhdf),(611xxfhdnnnnnf ddddMMMMnnnnnnn110110111102222 (2.3.9)对于边界条件对于边界条件(2.3.2),直接得直接得.,00fMfMnn (2.3.10)将将(2.3.10)代入代入(2.3.5)可解出可解出 若令若令).1,2,1(niMi,00 n,200fd ,2fdnn 则则(2.3.5)和和(2.3.10)可以写成可以写成(2.3.9)的形式。的形
11、式。第二章 插值与拟合对于边界条件(对于边界条件(2.3.3),有),有dMMMMMnnnnnn2110(2.3.11)由由(2.3.5)和和(2.3.11)可解出可解出 ,方程组的矩阵形式为,方程组的矩阵形式为),1,0(niMi ddddMMMMnnnnnnnn1211211122112222 (2.3.12).10),(6,1)(111001011hhxxxxdhhhhhhnffnnnnnnnnnn其中其中第二章 插值与拟合 实际上实际上,方程组(方程组(2.3.9)和()和(2.3.12)的系数矩阵是一类特殊的矩的系数矩阵是一类特殊的矩阵,在后面线性方程组的解法中,将专门介绍这类方程组
12、的解法和阵,在后面线性方程组的解法中,将专门介绍这类方程组的解法和性质。性质。例例 2.9 设在节点设在节点 上,函数上,函数 的值为的值为 ,。试求三试求三次样条插值函数次样条插值函数 ,满足条件,满足条件)3,2,1,0(iixi)(xf5.0)(,0)(10 xxff5.1)(,2)(32 xxff)(xS.3.3)(,3.0)()2(,1)(,2.0)()1(3030 xxxxSSSS 解解 (1)利用方程组()利用方程组(2.3.9)进行求解,可知)进行求解,可知 。经。经简单计算有简单计算有 。由。由 此得(此得(2.3.9)形式的方程组)形式的方程组,1,1),2,1,0(130
13、 ihi5.02121 3,6,3,8.13210 dddd第二章 插值与拟合 3638.1215.025.05.025.0123210MMMM先消去先消去 和和 得得M3 5.101.55.3115.321MM由此解得由此解得 。代回方程组得代回方程组得72.3,52.221 MM.36.0,36.030 MM 用用 的值代入三次样条插值函数的表达式(的值代入三次样条插值函数的表达式(2.3.4),经化简有),经化简有MMMM3210,2)2(68.0286.1268.0,5.0)1(28.1126.1104.1,2.018.048.0)(232323xxxxxxxxxxS 3,2 2,1
14、1,0 xxx()()仍用方程组进行求解,不过要注意仍用方程组进行求解,不过要注意 的不同。由于的不同。由于 和和 已知,故可以化简得已知,故可以化简得dd3030,M3M0M3第二章 插值与拟合.3.153.6411421 MM由此解得由此解得 。5.4,7.221MM将将 代入三次样条插值函数的表达式(代入三次样条插值函数的表达式(2.3.4),),经化简有经化简有MMMM3210,2)2(45.0225.213.1,5.0)1(35.1135.112.1,15.015.05.0)(232323xxxxxxxxxxS 3,2 2,1 1,0 xxx下面构造一阶导数值下面构造一阶导数值 表示
15、的三次样条插表示的三次样条插值函数。值函数。在力学上解释为细梁在在力学上解释为细梁在 截面处的转角,并且得到的转截面处的转角,并且得到的转角与相邻两个转角有关,故称用角与相邻两个转角有关,故称用 表示表示 的算法为的算法为三转角算法三转角算法。2.3.3 三转角算法三转角算法 ),1,0()(niSmxii mimi)(xSxi第二章 插值与拟合根据根据Hermite插值函数的唯一性和表达式(插值函数的唯一性和表达式(2.136)(2.1.38),),可设可设 在区间在区间 上的表达式为上的表达式为)(xS)1,1,0(,1 nixxii.)(1)()(21)(2)(122122132132)
16、()()()(mhxxxmhxxxfhxxxhfhxxxhiiiiiiiiiiiixiixiixiixxS 对对 求二次导数得求二次导数得)(xS).()2646)(13112121(6242ffhxxmhxxmhxxiiiiiiiiiiixixixxS 于是有于是有).(624)0(121ffhmhmhxiiiiiiiiS 第二章 插值与拟合同理,考虑同理,考虑 在在 上的表达式,可以得到上的表达式,可以得到,1xxii)(xS).(1642)0(12111ffhmhmhxiiiiiiiiS 利用条件利用条件 ,得,得)0()0(xxiiSS.1,2,1,0,211 niemmmiiiiii
17、 (2.3.14)其中,其中,由(由(2.3.6)所示,而)所示,而 ,ii).,(311xxxxeiiiiiiiff (2.3.15)方程组方程组(2.3.14)是关于是关于 的方程组的方程组,有有 个未知数个未知数,但只有但只有 个方程个方程.可由可由(2.3.1)(2.3.3)的任一种边界条件补充两个方程。的任一种边界条件补充两个方程。1 n1 n对于边界条件(对于边界条件(2.3.1),则两个方程),则两个方程 满足方程组满足方程组 mimmmfmfmnnn12100,第二章 插值与拟合 feeefemmmmnnnnnnnnn 11220111211112212222由此可解得由此可解
18、得 ,从而得,从而得 的表达式的表达式(2.3.13)。)。mmmn 121,)(xS(2.3.16)若令若令fhxxefhxxennnnnff 2,3,2,31100100对于边界条件(对于边界条件(2.3.2),则可导出两个方程),则可导出两个方程 .2,3,2,311100101022fhxxmmfhxxmmnnnnnnff由由(2.3.14)和和(2.3.17)可解出可解出),1,0(nimi (2.3.17)第二章 插值与拟合则(则(2.3.14)和()和(2.3.17)可合并成矩阵形)可合并成矩阵形式式 eeeemmmmnnnnnn1101101111212212 (2.3.18)
19、由由(2.3.14)和和(2.3.19)可解出可解出 ,方程组的矩阵形式为,方程组的矩阵形式为),1,0(nimi 对于边界条件(对于边界条件(2.3.3),可得),可得emmmmmnnnnnn2110 (2.3.19)).,(3,110010101xxxxehhhhhhnnnnnnnnnnff 其中其中第二章 插值与拟合eeeemmmmnnnnnnnn1211212122112222(2.3.20)在实际应用中,如果不需要规定内节点处的一阶导数值,那么使在实际应用中,如果不需要规定内节点处的一阶导数值,那么使用三次样条插值函数会得到很好的效果。三次样条插值函数用三次样条插值函数会得到很好的效
20、果。三次样条插值函数 不不仅在内节点处的二阶导数是连续的,而且仅在内节点处的二阶导数是连续的,而且 逼近逼近 具有很好的具有很好的收敛性,也是数值稳定的。由于误差估计与收敛性定理的证明比较复收敛性,也是数值稳定的。由于误差估计与收敛性定理的证明比较复杂,下面只给出误差估计的结论。杂,下面只给出误差估计的结论。)(xS)(xf)(xS2.3.4 三次样条插值函数的误差估计三次样条插值函数的误差估计值函数值函数 有估计式有估计式 定理定理2.5 设函数设函数,)(4baxfC 记记)(max,)(max110)4(4xxfMiinibxahx 则对任意则对任意,bax 满足边界条件(满足边界条件(
21、2.3.1)或()或(2.3.2)的三次样条插)的三次样条插)(xS第二章 插值与拟合 误差估计式(误差估计式(2.3.21)除可以用于误差估计外)除可以用于误差估计外,它进一步表明,它进一步表明,当当 时,在插值区间时,在插值区间 上,对于满足边界上,对于满足边界条件(条件(2.3.1)或()或(2.3.2)的插值函数)的插值函数 ,不仅,不仅 一致收一致收敛于敛于 ,而且,而且 一致收敛于一致收敛于 ,一致收敛于一致收敛于 。,)(4baxfC)(xS)(xS)(xf )(xS )(xf )(xf)(xS(2.3.21)2,1,0,4)()(4)()(kkkxxMhCSfkk其中其中.81,241,3845210CCC,ba