当前位置:首页 > 样条插值及应用深入研究
学院: 研究生学院 专业: 机械工程 组号: 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-
共分享92篇相关文档