三次样条插值三弯矩matlab_数值计算方法 第四章 多项式插值(2)

五、Hermite插值多项式

如果对插值函数, 不仅要求它在节点处与函数同值,而且要求它与函数有相同的一阶, 二阶甚至更高阶的导数值, 这就是Hermite插值问题。本节主要讨论在节点处插值函数与函数的值及一阶导数值均相等的Hermite插值。

1、推导过程

(灵魂画手我弟弟)

三次样条插值三弯矩matlab_数值计算方法 第四章 多项式插值(2)_第1张图片

实例——两个节点的三次多项式:

所以,两个节点的三次Hermite插值多项式为:

equation?tex=%5Cbegin%7Baligned%7D+H%28x%29%3D%26%5Cleft%281%2B2+%5Cfrac%7Bx-x_%7B0%7D%7D%7Bx_%7B1%7D-x_%7B0%7D%7D%5Cright%29%5Cleft%28%5Cfrac%7Bx-x_%7B1%7D%7D%7Bx_%7B0%7D-x_%7B1%7D%7D%5Cright%29%5E%7B2%7D+y_%7B0%7D%2B%5Cleft%281%2B2+%5Cfrac%7Bx-x_%7B1%7D%7D%7Bx_%7B0%7D-x_%7B1%7D%7D%5Cright%29%5Cleft%28%5Cfrac%7Bx-x_%7B0%7D%7D%7Bx_%7B1%7D-x_%7B0%7D%7D%5Cright%29%5E%7B2%7D+y_%7B1%7D+%5C%5C+%26%2B%5Cleft%28x-x_%7B0%7D%5Cright%29%5Cleft%28%5Cfrac%7Bx-x_%7B1%7D%7D%7Bx_%7B0%7D-x_%7B1%7D%7D%5Cright%29%5E%7B2%7D+y_%7B0%7D%5E%7B%5Cprime%7D%2B%5Cleft%28x-x_%7B1%7D%5Cright%29%5Cleft%28%5Cfrac%7Bx-x_%7B0%7D%7D%7Bx_%7B1%7D-x_%7B0%7D%7D%5Cright%29%5E%7B2%7D+y_%7B1%7D%5E%7B%5Cprime%7D+%5Cend%7Baligned%7D

2、误差估计:

与Largrange插值的误差估计相类似,可导出Hermite插值的误差估计。

定理:
为区间
上的互异节点,
的过这组节点的
次Hermite插值多项式。如果
次连续可导,则对任意
,插值余项为

证明思路同前面的插值误差估计。

可令辅助函数为

3、唯一性

定理:
为区间
上的互异节点, 则满足插值条件式的
次Hermite多项式是唯一的。

证明:假设存在另一个,则相减的函数的余项,2n+2次导一定为零,余项为0故相等。

故,至多

次的多项式在任意
互异节点上的Hermite多项式就是其自

4、分段三次Hermite插值

当节点较多时,为避免多项式次数过高而引起非节点处的偏离过大,仍采用分段插值的方法。

若把节点两两分段,在每一小段上作三次Hermite插值,就得到一个分段三次Hermite插值函数。由前面的推导可直接写出分段三次Hermite插值函数的分段表达式。

equation?tex=%5Cbegin%7Baligned%7D+H%28x%29%3D%26%5Cleft%281%2B2+%5Cfrac%7Bx-x_%7Bi%7D%7D%7Bx_%7Bi%2B1%7D-x_%7Bi%7D%7D%5Cright%29%5Cleft%28%5Cfrac%7Bx-x_%7Bi%2B1%7D%7D%7Bx_%7Bi%7D-x_%7Bi%2B1%7D%7D%5Cright%29%5E%7B2%7D+y_%7Bi%7D%2B%5Cleft%281%2B2+%5Cfrac%7Bx-x_%7Bi%2B1%7D%7D%7Bx_%7Bi%7D-x_%7Bi%2B1%7D%7D%5Cright%29%5Cleft%28%5Cfrac%7Bx-x_%7Bi%7D%7D%7Bx_%7Bi%2B1%7D-x_%7Bi%7D%7D%5Cright%29%5E%7B2%7D+y_%7Bi%2B1%7D+%5C%5C+%26%2B%5Cleft%28x-x_%7Bi%7D%5Cright%29%5Cleft%28%5Cfrac%7Bx-x_%7Bi%2B1%7D%7D%7Bx_%7Bi%7D-x_%7Bi%2B1%7D%7D%5Cright%29%5E%7B2%7D+y_%7Bi%7D%5E%7B%5Cprime%7D%2B%5Cleft%28x-x_%7Bi%2B1%7D%5Cright%29%5Cleft%28%5Cfrac%7Bx-x_%7Bi%7D%7D%7Bx_%7Bi%2B1%7D-x_%7Bi%7D%7D%5Cright%29%5E%7B2%7D+y_%7Bi%2B1%7D%5E%7B%5Cprime%7D++%5Cend%7Baligned%7D

误差估计:

,误差估计式前半段带
后面的
取中点放缩一下
出来16

分段三次Hermite插值函数是插值区间上的光滑函数,有一阶连续导数,它与函数在节点处密合程度较好。

5、Hermite插值的一般形式

Hermite插值问题的一般形式是:已知函数

个互异节点处的函数值及
个节点上的导数值,求一个至多
次的多项式满足已知点的这些要求。

计算这种插值多项式可以采用基函数的方法重新推导一遍。

①与前面的讨论类似,可以证明满足条件Hermite插值多项式是存在唯一的。

定理:
为区间
上的互异节点,
的Hermite插值多项式。若
则对

证明:同样的思路,令辅助函数为

罗尔定理得

至少有n+1个零点

equation?tex=%5Cpsi%27%28x_%7Bi_l%7D%29%3Df%27%28x_%7Bi_%7Bl%7D%7D%29-H%27%28x_%7Bi_%7Bl%7D%7D%29-%5Cfrac%7BR%28x%29%7D%7B%5Comega_%7Bn%2B1%7D%28x%29+%5Cprod_%7Bk%3D0%7D%5E%7Bm%7D%5Cleft%28x-x_%7Bi_%7Bk%7D%7D%5Cright%29%7D%5Cleft%5B%5Comega_%7Bn%2B1%7D%27%28x_%7Bi_%7Bl%7D%7D%29+%5Ctimes%5Cright.+%5C%5C+%5Cprod_%7Bk%3D0%7D%5E%7Bm%7D%5Cleft%28x_%7Bi_%7Bl%7D%7D-x_%7Bi_%7Bk%7D%7D%5Cright%29%2B%5Comega_%7Bn%2B1%7D%5Cleft%28x_%7Bi_%7Bl%7D%7D%5Cright%29+%5Cprod_%7Bk%3D0+%5Catop+k+%5Cneq+l%7D%5E%7Bm%7D%5Cleft%28x_%7Bi_l%7D-x_%7Bi_%7Bk%7D%7D%5Cright%29%5D%3D0+%5Cquad%28l%3D0%2C1%2C+%5Ccdots%2C+m%29

上式得

至少有m+1个零点,综上,
至少有n+m+2个零点

继续往上用罗尔即可,思路同前面

②降阶法求Hermite插值多项式

,其中
为满足
次插值多项式,
为待定的
次多项式

已经满足

于是由导数值插值条件,有

由此确定

六、样条插值多项式

许多实际工程技术中一般对精度要求非常高

  • 要求近似曲线在节点连续
  • 要求近似曲线在节点处导数连续,即充分光滑分段线性插值不能保证节点的光滑性,而Hermite插值需要知道节点处的导数值,实际中无法确定。

1、三次样条函数的力学背景

在工程和数学应用中常有这么一类数据处理问题:在平面上给定了一组有序的离散点列,要求用一条光滑的曲线把这些点按次序连接起来。工程技术人员为了得到这条光滑的曲线,常常使用一条富有弹性的均匀细木条,依次经过这些点,并用压铁在若干点处压住,然后沿这条细木条画出一条光滑的曲线,并形象地称之为“样条曲线”。

在力学上,如果把细木条看成弹性细梁,压铁看成作用在梁上的集中载荷,“样条曲线”就可模拟为弹性细梁在外加集中载荷作用下的弯曲变形曲线。如果用A表示细梁的刚度系数,M表示弯矩,在建立坐标系后,由于样条是均匀细木条,在两个相邻压铁之间无任何外力,由力学知识可得

, 其中
为“样条曲线”y=y(x)的曲率,对于一条光滑曲线
,在通常称为“小挠度”的情况下,即细梁弯曲不大,
时,可以忽略y′的影响,从而得到近似方程
。由于M为线性函数,故有

即“样条曲线”为分段多项式,且曲线的函数值、一阶导数、二阶导数都是连续的,而三阶导数是间断的,这就是三次样条差值函数的力学背景。

三次样条插值三弯矩matlab_数值计算方法 第四章 多项式插值(2)_第2张图片

2、三次样条插值定义

设在区间

上给定一个分割

如果定义在

上的一个函数
满足下列条件:

(1)在每个小区间

上,
是三次多项式;

(2)在整个区间

上,
为二阶连续可导函数,也就是说在每个节点

则称

为三次样条插值函数。

对定义在区间

上的函数
,如果存在三次样条插值函数
,使得在节点处满足
,就称
为插值于
的三次样条函数,简称三次样条插值函数。

3、三次样条插值的求法

首先,

为分段三次多项式,设
,其中
为待定系数,所以
有4n个未知数。

约束条件为

连续

3n-3+n+1共4n-2个条件,想要解出来还需要两个约束条件。通常在区间端点各加一个条件,称为边界条件。

边界条件:

①已知两端的一阶导数值

(固支边界)

②已知两端的二阶导数值

特殊条件是

(自然边界条件)

③周期边界条件

为以
为周期的周期函数时,
也是周期函数。

此时边界条件为

此时

这样确定的函数称为周期样条函数

求法分为两种:三转角方法和三弯矩方法

①三转角方法(关于一阶导数)

三次样条插值三弯矩matlab_数值计算方法 第四章 多项式插值(2)_第3张图片

矩阵表示为:

equation?tex=%5Cleft%5B%5Cbegin%7Barray%7D%7Bccccccc%7D+%5Clambda_%7B1%7D+%26+2+%26+%5Cmu_%7B1%7D+%26+0+%26+0+%26+%5Ccdots+%26+0+%5C%5C+0+%26+%5Clambda_%7B2%7D+%26+2+%26+%5Cmu_%7B2%7D+%26+0+%26+%5Ccdots+%26+0+%5C%5C+0+%26+0+%26+%5Cddots+%26+%5Cddots+%26+%5Cddots+%26+%5Cvdots+%26+%5Cvdots+%5C%5C+%5Cvdots+%26+%5Cvdots+%26+%5Cvdots+%26+%5Clambda_%7Bn-2%7D+%26+2+%26+%5Cmu_%7Bn-2%7D+%26+0+%5C%5C+0+%26+0+%26+0+%26+0+%26+%5Clambda_%7Bn-1%7D+%26+2+%26+%5Cmu_%7Bn-1%7D+%5Cend%7Barray%7D%5Cright%5D%5Cleft%5B%5Cbegin%7Barray%7D%7Bc%7D+m_%7B0%7D+%5C%5C+m_%7B1%7D+%5C%5C+%5Cvdots+%5C%5C+m_%7Bn-1%7D+%5C%5C+m_%7Bn%7D+%5Cend%7Barray%7D%5Cright%5D%3D%5Cleft%5B%5Cbegin%7Barray%7D%7Bc%7D+g_%7B1%7D+%5C%5C+g_%7B2%7D+%5C%5C+%5Cvdots+%5C%5C+g_%7Bn-2%7D+%5C%5C+g_%7Bn-1%7D+%5Cend%7Barray%7D%5Cright%5D

上述方程组称为

连续方程,有n+1个未知数,n-1个方程

若边界条件为

,代入得:

equation?tex=%5Cleft%5B%5Cbegin%7Barray%7D%7Bcccccc%7D+2+%26+%5Cmu_%7B1%7D+%26+%26+%26+%26+%5C%5C+%5Clambda_%7B2%7D+%26+2+%26+%5Cmu_%7B2%7D+%26+%26+%26+%5C%5C+%26+%5Cddots+%26+%5Cddots+%26+%5Cddots+%26+%26+%5C%5C+%26+%26+%5Cddots+%26+%5Cddots+%26+%5Cddots+%26+%5C%5C+%26+%26+%26+%5Clambda_%7Bs-2%7D+%26+2+%26+%5Cmu_%7Bn-2%7D+%5C%5C+%26+%26+%26+%26+%5Clambda_%7Bn-1%7D+%26+2+%5Cend%7Barray%7D%5Cright%5D%5Cleft%5B%5Cbegin%7Barray%7D%7Bc%7D+m_%7B1%7D+%5C%5C+m_%7B2%7D+%5C%5C+%5Cvdots+%5C%5C+%5Cvdots+%5C%5C+m_%7Bn-2%7D+%5C%5C+m_%7Bn-1%7D+%5Cend%7Barray%7D%5Cright%5D%3D%5Cleft%5B%5Cbegin%7Barray%7D%7Bc%7D+g_%7B1%7D-%5Clambda_%7B1%7D+y_%7B0%7D%5E%7B%5Cprime%7D+%5C%5C+g_%7B2%7D+%5C%5C+%5Cvdots+%5C%5C+%5Cvdots+%5C%5C+g_%7Bn-2%7D+%5C%5C+g_%7Bn-1%7D-%5Cmu_%7Bn-1%7D+y_%7Bn%7D%5E%7B%5Cprime%7D+%5Cend%7Barray%7D%5Cright%5D

若边界条件为

,则有(推导在三弯矩里)

equation?tex=%5Cleft%5B%5Cbegin%7Barray%7D%7Bcccccc%7D+2+%26+1+%26+%26+%26+%26+%5C%5C+%5Clambda_%7B1%7D+%26+2+%26+%5Cmu_%7B1%7D+%26+%26+%26+%5C%5C+%26+%5Cddots+%26+%5Cddots+%26+%5Cddots+%26+%26+%5C%5C+%26+%26+%5Cddots+%26+%5Cddots+%26+%5Cddots+%26+%5C%5C+%26+%26+%26+%5Clambda_%7Bn-1%7D+%26+2+%26+%5Cmu_%7Bn-1%7D+%5C%5C+%26+%26+%26+%26+1+%26+2+%5Cend%7Barray%7D%5Cright%5D%5Cleft%5B%5Cbegin%7Barray%7D%7Bc%7D+m_%7B0%7D+%5C%5C+m_%7B1%7D+%5C%5C+%5Cvdots+%5C%5C+%5Cvdots+%5C%5C+m_%7Bn-1%7D+%5C%5C+m_%7Bn%7D+%5Cend%7Barray%7D%5Cright%5D%3D%5Cleft%5B%5Cbegin%7Barray%7D%7Bc%7D+g_%7B0%7D+%5C%5C+g_%7B1%7D+%5C%5C+%5Cvdots+%5C%5C+%5Cvdots+%5C%5C+g_%7Bn-1%7D+%5C%5C+g_%7Bn%7D+%5Cend%7Barray%7D%5Cright%5D

若边界条件为周期性的边界条件,则有

equation?tex=%5Cleft%5C%7B%5Cbegin%7Barray%7D%7Bl%7D+S%27%5Cleft%28x_%7Bn%7D-0%5Cright%29%3DS%27%5Cleft%28x_%7B0%7D%2B0%5Cright%29+%5C%5C+S%27%27%5Cleft%28x_%7Bn%7D-0%5Cright%29%3DS%27%27%5Cleft%28x_%7B0%7D%2B0%5Cright%29+%5Cend%7Barray%7D%5Cright.%5CRightarrow%5Cleft%5C%7B%5Cbegin%7Barray%7D%7Bl%7D%7Bm_0%3Dm_n%5C%5C%5Clambda_nm_%7Bn-1%7D%2B2m_n%2B%5Cmu_nm_1%3Dg_n%7D+%5Cend%7Barray%7D%5Cright.+

②三弯矩方法(关于二阶导数)

上一种方法对于边界条件是一阶导数的情况比较简单,但是实际情况中,利用二阶导数

表示时,使用更方便。
在力学上解科为细根梁在
截面处的弯矩, 并且得到的弯矩与相邻两个弯矩有关。

三次样条插值三弯矩matlab_数值计算方法 第四章 多项式插值(2)_第4张图片
三弯矩方法的推导过程

写成矩阵形式:

equation?tex=%5Cleft%5B%5Cbegin%7Barray%7D%7Bccccccc%7D+%5Cmu+%26+2+%26+%5Clambda+%26+0+%26+0+%26+%5Ccdots+%26+0+%5C%5C+0+%26+%5Cmu_%7B2%7D+%26+2+%26+%5Clambda_%7B2%7D+%26+0+%26+%5Ccdots+%26+0+%5C%5C+0+%26+0+%26+%5Cddots+%26+%5Cddots+%26+%5Cddots+%26+%5Cvdots+%26+%5Cvdots+%5C%5C+%5Cvdots+%26+%5Cvdots+%26+%5Cvdots+%26+%5Cmu_%7Bn-2%7D+%26+2+%26+%5Clambda_%7Bn-2%7D+%26+0+%5C%5C+0+%26+0+%26+0+%26+0+%26+%5Cmu_%7Bn-1%7D+%26+2+%26+%5Clambda_%7Bn-1%7D+%5Cend%7Barray%7D%5Cright%5D%5Cleft%5B%5Cbegin%7Barray%7D%7Bl%7D+M_%7B0%7D+%5C%5C+M_%7B1%7D+%5C%5C+%5Cvdots+%5C%5C+M+_%7Bn-1%7D+%5C%5C+M_%7Bn%7D+%5Cend%7Barray%7D%5Cright%5D%3D%5Cleft%5B%5Cbegin%7Barray%7D%7Bc%7D+d_%7B1%7D+%5C%5C+d_%7B2%7D+%5C%5C+%5Cvdots+%5C%5C+d_%7Bn-2%7D+%5C%5C+d_%7Bn-1%7D+%5Cend%7Barray%7D%5Cright%5D

上述方程组称为

连续方程

若边界条件为

,代入则有

equation?tex=%5Cleft%5B%5Cbegin%7Barray%7D%7Bccccc%7D+2+%26+%5Clambda_%7B1%7D+%26+0+%26+%5Ccdots+%26+0+%5C%5C+%5Cmu_%7B2%7D+%26+2+%26+%5Clambda_%7B2%7D+%26+%5Cvdots+%26+0+%5C%5C+0+%26+%5Cddots+%26+%5Cddots+%26+%5Cddots+%26+%5Cvdots+%5C%5C+%5Cvdots+%26+%5Ccdots+%26+%5Cmu_%7Bn-2%7D+%26+2+%26+%5Clambda_%7Bn-2%7D+%5C%5C+0+%26+%5Ccdots+%26+0+%26+%5Cmu_%7Bn-1%7D+%26+2+%5Cend%7Barray%7D%5Cright%5D%5Cleft%5B%5Cbegin%7Barray%7D%7Bl%7D+M_%7B1%7D+%5C%5C+M_%7B2%7D+%5C%5C+%5Cvdots+%5C%5C+M_%7Bn-2%7D+%5C%5C+M_%7Bn-1%7D+%5Cend%7Barray%7D%5Cright%5D%3D%5Cleft%5B%5Cbegin%7Barray%7D%7Bc%7D+d_%7B1%7D-%5Cmu_%7B1%7D+y_%7B0%7D%27%27+%5C%5C+d_%7B2%7D+%5C%5C+%5Cvdots+%5C%5Cd_%7Bn-2%7D%5C%5C+d_%7Bn-1%7D-%5Clambda_%7Bn-1%7D+y_%7Bn%7D%27%27+%5Cend%7Barray%7D%5Cright%5D

若边界条件为

,得

equation?tex=%5Cleft%5B%5Cbegin%7Barray%7D%7Bccccccc%7D+2+%26+1+%26+0+%26+0+%26+0+%26+%5Ccdots+%26+0+%5C%5C+%5Cmu+%26+2+%26+%5Clambda_%7B1%7D+%26+0+%26+0+%26+%5Ccdots+%26+0+%5C%5C+0+%26+%5Cmu_%7B2%7D+%26+2+%26+%5Clambda_%7B2%7D+%26+0+%26+%5Ccdots+%26+0+%5C%5C+%5Cvdots+%26+%5Cvdots+%26+%5Cddots+%26+%5Cddots+%26+%5Cddots+%26+%5Cvdots+%26+%5Cvdots+%5C%5C+0+%26+0+%26+0+%26+%5Cmu_%7Bn-2%7D+%26+2+%26+%5Clambda_%7Bn-2%7D+%26+0+%5C%5C+0+%26+0+%26+0+%26+0+%26+%5Cmu_%7Bn-1%7D+%26+2+%26+%5Clambda_%7Bn-1%7D+%5C%5C+0+%26+0+%26+0+%26+0+%26+0+%26+1+%26+2+%5Cend%7Barray%7D%5Cright%5D%5Cleft%5B%5Cbegin%7Barray%7D%7Bc%7D+%5Cboldsymbol%7BM%7D_%7B0%7D+%5C%5C+%5Cboldsymbol%7BM%7D_%7B1%7D+%5C%5C+%5Cboldsymbol%7BM%7D_%7B2%7D+%5C%5C+%5Cvdots+%5C%5C+%5Cboldsymbol%7BM%7D_%7Bn-2%7D+%5C%5C+%5Cboldsymbol%7BM%7D_%7Bn-1%7D+%5C%5C+%5Cboldsymbol%7BM%7D_%7Bn%7D+%5Cend%7Barray%7D%5Cright%5D%3D%5Cleft%5B%5Cbegin%7Barray%7D%7Bc%7D+%5Cboldsymbol%7Bd%7D_%7B0%7D+%5C%5C+%5Cboldsymbol%7Bd%7D_%7B1%7D+%5C%5C+%5Cboldsymbol%7Bd%7D_%7B2%7D+%5C%5C+%5Cvdots+%5C%5C+%5Cboldsymbol%7Bd%7D_%7Bn-2%7D+%5C%5C+%5Cboldsymbol%7Bd%7D_%7Bn-1%7D+%5C%5C+%5Cboldsymbol%7Bd%7D_%7Bn%7D+%5Cend%7Barray%7D%5Cright%5D

三次样条插值三弯矩matlab_数值计算方法 第四章 多项式插值(2)_第5张图片
边界条件转换

若边界条件为周期性的边界条件,则有

equation?tex=%5Cleft%5C%7B%5Cbegin%7Barray%7D%7Bl%7D+S%27%5Cleft%28x_%7Bn%7D-0%5Cright%29%3DS%27%5Cleft%28x_%7B0%7D%2B0%5Cright%29+%5C%5C+S%27%27%5Cleft%28x_%7Bn%7D-0%5Cright%29%3DS%27%27%5Cleft%28x_%7B0%7D%2B0%5Cright%29+%5Cend%7Barray%7D%5Cright.%5CRightarrow%5Cleft%5C%7B%5Cbegin%7Barray%7D%7Bl%7D%7BM_0%3DM_n%5C%5C%5Cmu_0M_%7Bn-1%7D%2B2M_0%2B%5Clambda_0M_1%3Dd_0%7D+%5Cend%7Barray%7D%5Cright.+

4、三次样条插值函数的性质

性质一 极小模性质

是任一被插值函数,
是自然三次样条插值函数,则有
,式中等号当且仅当
时成立

性质二 最佳逼近性质

是任一被插值函数,
是带有斜率边界条件的三次样条插值函数,
是与
有相同分割的任一三次样条插值函数,则有

5、误差估计

设函数

,∆是区间
的一个分割,
是关于
的带有斜率边界条件或二阶导数边界条件的插值函数,则有插值估计

是分割比,并且系数
是最优估计

搜了个代码,三弯矩

function []=spline3(X,Y,dY,x0,m)
N=size(X,2);
s0=dY(1); sN=dY(2);
interval=0.025;
disp('x0为插值点')
x0
h=zeros(1,N-1);
for i=1:N-1 h(1,i)=X(i+1)-X(i); end
d(1,1)=6*((Y(1,2)-Y(1,1))/h(1,1)-s0)/h(1,1);
d(N,1)=6*(sN-(Y(1,N)-Y(1,N-1))/h(1,N-1))/h(1,N-1);
for i=2:N-1
d(i,1)=6*((Y(1,i+1)-Y(1,i))/h(1,i)-(Y(1,i)-Y(1,i-1))
/h(1,i-1))/ (h(1,i)+h(1,i-1)); end
mu=zeros(1,N-1); md=zeros(1,N-1);
md(1,N-1)=1; mu(1,1)=1;
for i=1:N-2
u=h(1,i+1)/(h(1,i)+h(1,i+1)); mu(1,i+1)=u;
md(1,i)=1-u; end
p(1,1)=2; q(1,1)=mu(1,1)/2;
for i=2:N-1
p(1,i)=2-md(1,i-1)*q(1,i-1); q(1,i)=mu(1,i)/p(1,i); end
p(1,N)=2-md(1,N-1)*q(1,N-1);
y=zeros(1,N); y(1,1)=d(1)/2;
for i=2:N y(1,i)=(d(i)-md(1,i-1)*y(1,i-1))/p(1,i); end
x=zeros(1,N); x(1,N)=y(1,N);
for i=N-1:-1:1 x(1,i)=y(1,i)-q(1,i)*x(1,i+1); end
fprintf ('M为三对角方程的解n'); M=x;
fprintf ('n');
syms t;
digits (m);
for i=1:N-1
pp(i)=M(i)*(X(i+1)-t)^3/(6*h(i))+M(i+1)*(t-X(i))^3
/(6*h(i))+(Y(i)-M(i)*h(i)^2/6)*(X(i+1)-t)/h(i)+
(Y(i+1)-M(i+1)*h(i)^2/6)*(t-X(i))/h(i);
pp(i)=simplify(pp(i)); coeff=sym2poly(pp(i));
if length(coeff)~=4
tt=coeff(1:3); coeff(1:4)=0; coeff(2:4)=tt; end
if x0>X(i)&x0

6、B-样条函数 这个加星 有空再说

搜了一个大体扫了一眼应该是我一时半会搞不明白。。放着

三次B样条插值和误差分析_人工智能_温故而知新-CSDN博客​blog.csdn.net
da44b9f1c9e1750baaedd9446d432c72.png

总体上,hermite插值和样条插值也就是,一个要求一阶导数连续,一个要求二阶导数连续

你可能感兴趣的:(三次样条插值三弯矩matlab)