样条插值及应用深入研究 联系客服

发布时间 : 星期五 文章样条插值及应用深入研究更新完毕开始阅读

学院: 研究生学院 专业: 机械工程 组号: 39 成绩:

第二章 算法研究

一.《样条插值及应用》方法有多少(方法种类)?

2.1.1 《样条插值及应用》方法有多少? 2.1.1.1 线性样条插值

如果在每个子区间上的分段多项式都是一次的,我们称之为线性样条。线性样条插值是最简单的样条插值。数据点使用直线进行连接,结果样条是一个多边形。

从代数的角度来看,每个 si 都是一个如下

si(x)?yi?yi?1?yi(x?xi) (2.1)

xi?1?xi的线性函数。 样条在每个数据点都必须连续,即

si(xi?1)?si?1(xi?1)我们很容易得到

si?1(xi)?yi?1?i?1,…,n?1 (2.2)

yi?yi?1(xi?xi?1)?yi (2.3)

xi?xi?1si(xi)?yi?yi?1?yi(xi?xi)?yi (2.4)

xi?1?xi所以以上论述成立。 2.1.1.2 二次样条插值

(1)对划分?:a?x0?x1??xn?b,构造以xi为节点的二次样条函数

s(x)?a2x2?a1x?a0?s(x)满足:

?c(x?x)jij?1n?122! (2.5)

① s(x)在每个区间?xi,xi?1?上是一个二次多项式; ② s'(x0)?y0',③ s(x0)?y0,

s(xi)?yisi'(x)?(i?0,1,2,…,n);

(i?0,1,2,…,n)。

-9-

yi?1' 学院: 研究生学院 专业: 机械工程 组号: 39 成绩:

在每个小区间?xi,xi?1?上是一个二次多项式,有3个系数,因此要确定s(x) 就要确定3n个

)待定参数。而由s(ix??s'x(?s)xi?'(i?)iiy?(i0…,,1,,n得到n?1个方程;由

…(,n0?,得到1n? 1个方程;由s'(xi?)?s'(xi?)(i?0,1,2,…,n?1)得

到n? 1个方程,总共3n? 1个方程,为了确定一个特定的样条插值函数。还需增加1个条件。这个条件通常是在区间?a,b?的两个端点处给出,即边界条件。边界条件根据实际问题的要求来确定,其类型很多。常见的边界条件类型有:

① 给定初始端点的一阶导数值s'(x0)?y0'; ② 给定终端点的一阶导数值s'(xn)?yn'; ③ 给定初始端点的二阶导数值s''(x0)?y0''; ④ 给定终端点的二阶导数值s''(xn)?yn'';

⑤ 若插值函数为周期函数时,此时y0?yn给定s'(x0)?s'(xn)。 (2)二次样条插值函数的构建

针对上面5种情况分别讨论二次样条插值问题。

①给定初始端点的一阶导数值:

s'(x0)?y0' (2.6)

在区间?x0,x1?内,已知s(x0)?y0,s(xn?1)?yn?1和s'(x0)?y0',由Hermite插值公式可知

s(x)?y1?y0?h0y0'(x?x0)2?y0'(x?x0)?y0 (2.7) 2h02(y1?y0)?y0',同样加上s(x1)?y1,h0其中hi?xi?1?xi(i?0,1,2,…,n?1),此时s'(x1)?s(x2)?y2两个条件可推导出区间?x0,x1?内的二次插值函数,以此类推得到区间

?xi,xi?1?(i?0,1,2,…,n?1)内二次样条插值函数为

s(x)?yi?1?yi?hiyi'2(x?x)?yi'(x?xi)?yi (2.8) i2hi而yi+1'可由(2.9)递推得到

-10-

学院: 研究生学院 专业: 机械工程 组号: 39 成绩:

yi+1'?si'(xi?1)?2(yi?1?yi)?yi'hi (2.9)

②给定终端点的一阶导数值:s'(xn)?yn'

在区间?xn?1,xn?内s(xn?1)?yn?1,s(xn)?yn和s'(xn)?yn'由Hermite插值公式可知

s(x)?yn?1?yn?hn?1yn'2(x?x)?yn'(x?xn)?yn (2.10) n2hn此时yn?1'?si'(xn?1)?2(yn?yn?1)?yn',同时加上s(xn?2)?yn?2,s(xn?1)?yn?1两个条件可

hn?1以推导出区间?xn?1,xn?内的二次插值函数,以此类推得区间?xn?1,xn?次样条插值函数为

(i?0,1,2,…,n?1)内二

yi?yi?1?hi2yi?1'2s(x)?(x?x)?yi?1'(x?xi?1)?yi?1 (2.11) i?12hi而yi'可由(2.12)递推得到

yi'?si'(xi)?2(yi?1?yi)?yi?1' (2.12) hi③给定初始端点的二阶导数值:

s''(x0)?y0'' (2.13)

在区间在区间?x0,x1?内,已知s(x0)?y0,s(xn?1)?yn?1和s''(x0)?y0'',利用待定系数方法,二次样条插值公式为

2\(x?x0)2(y1?y0)?h02y0\ s(x)?y0?(x?x0)?y0 (2.14)

2h0此时

2(y1?y0)?h02y0\ (2.15) y0'?2h0这就转化为第一种情况,可由式(2.8)(2.9)得到二次样条插值函数。

④给定终端点的二阶导数值:

s''(xn)?yn'' (2.16)

-11-

学院: 研究生学院 专业: 机械工程 组号: 39 成绩:

在区间?xn?1,xn?内s(xn?1)?yn?1,s(xn)?yn和s''(xn)?yn''二次样条插值公式为

(x?xn)22(yn?yn?1)?hn?12yn'' s(x)?yn''?(x?xn)?yn (2.17)

2hn?1此时

2(yn?yn?1)?hn?12yn\ (2.18) yn'?2hn?1这就转化为第二种情况,可由式(2.11)(2.12)得到二次样条插值函数。

⑤已知y0?yn,给定:

s'(x0)?s'(xn) (2.19)

由式(2.9)可知:yn'?A.当n为偶数时

yn'?2(yn?yn?1)2(yn?1?yn?2)2(yn?2?yn?3)2(y2?y1)2(y1?y0)??+…+-+y0'hn?1hn?2hn?3h1h0(2.20)

2(yn?yn?1)2(yn?1?yn?2)?yn?1',yn?1'??yn?2',以此类推,得到:

hn?1hn?2若满足:

s'(x0)?s'(xn) (2.21)

只有

yn?yn?1yn?1?yn?2yn?2?yn?3y?yy?y???…+21-10=0 (2.22) hn?1hn?2hn?3h1h0成立时有解,并且y0'无限制。任意一个y0'可得到一组样条插值函数。若式(2.22)不满足无解,找不到满足条件的样条插值函数。

B.当n为奇数时

yn'?2(yn?yn?1)2(yn?1?yn?2)2(yn?2?yn?3)2(y2?y1)2(y1?y0)??-…-+-y0'hn?1hn?2hn?3h1h0(2.23)

若满足:

s'(x0)?s'(xn) (2.24)

只有

-12-