数值计算方法( 三次样条插值)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y j 1 ( x x j 1 )( y j y j 1 ) /( x j x j 1 )
分段线性插值
算法: 1.输入xi , yi (i 0,1,...,n) 2.按k 1,2,...,m做 (1)输入插值点u (2)对于j 1,2,...,n做 如果u x j 则
两边同除 xi 1 xi 1 ( xi 1 xi xi xi 1 ) hi 1 hi hi hi 得 M i 1 2 M i M i 1 6 f [ xi 1 , xi , xi 1 ] hi 1 hi hi 1 hi 即得
i M i 1 2M i i M i 1 6 f [ xi 1 , xi , xi 1 ]
其中I j
x xj x j 1 x j
y j 1
x x j 1 x j x j 1
yj
y j 1 ( x x j 1 )( y j y j 1 ) /( x j x j 1 )
缺点:I(x)连续,但不光滑,精度较低,仅在
1 j n
2M 0 M 1 6 f [ x0 , x0 , x1 ]
三次样条插值
同理(2)式中令i n得 M n 1 2M n 6 f [ xn 1 , xn , xn ] 即有 2M 0 M 1 6 f [ x0 , x0 , x1 ] ) i M i 1 2M i i M i 1 6 f [ xi 1 , xi , xi 1 ] (i 1,2,...,n 1 M 2M 6 f [ x , x , x ] n n 1 n n n 1
(2) 在每个小区间 x j 1 , x j ]( j 1,2,...,n)上s ( x)是不超过 [
三次样条插值
设三次样条函数 ( x)在每个子区间 x j 1 , x j ]上有表达式 s [ s( x) s j ( x) a j x 3 b j x 2 c j x d j x ( x j 1 , x j ), j 1,2...n
令x xi 1得 Mi M Mi ( xi 1 xi ) 2 i 1 ( xi 1 xi ) 2 2! 3! yi 1 yi 1 2 解得 s( xi ) ( M i 1 M i )(xi 1 xi ) (1) xi 1 xi 6 6 yi 1 yi s( xi )(xi 1 xi )
i 1,2,...n 1
三次样条插值
第一类边界条件: ( x0 ) f ( x0 ) s (1) 式中令i 0得 s( x0 ) 既有 y1 y0 1 2 ( M 1 M 0 )(x1 x0 ) x1 x0 6 6 s( xn ) f ( xn )
三次样条wk.baidu.com值
第二类边界条件 s '' ( x0 ) f '' ( x0 ) M 0 , s '' ( xn ) f '' ( xn ) M n 同理可得 2M 1 1M 2 6 f [ x0 , x1 , x2 ] 1M 0 i M i 1 2M i i M i 1 6 f [ xi 1 , xi , xi 1 ] M 2M 6 f [ x , x , x ] M n n2 n 1 n n 1 n n 1 n 2 i 2,3,...,n 2
三次样条插值
同理在[ xi 1 , xi ]上讨论得 s( xi ) yi yi 1 2 1 ( M i M i 1 )(xi xi 1 ) xi xi 1 6 6 (2)
因为s( x)连续,所以()(2)即 1 yi 1 yi 1 yi yi 1 2 2 1 ( M i 1 M i )(xi 1 xi ) ( M i M i 1 )(xi xi 1 ) xi 1 xi 6 6 xi xi 1 6 6 记hi xi xi 1 hi i hi 1 hi hi 1 i 1 i hi 1 hi
4.4 三次样条插值
前面我们根据区间[a,b]上给出的节点做 插值多项式Ln(x)近似表示f (x)。一般总 以为Ln(x)的次数越高,逼近f (x)的精度 越好,但实际并非如此,次数越高,计 算量越大,也不一定收敛。因此高次插 值一般要慎用,实际上较多采用分段低 次插值。
4.4.1 分段插值
已知(x j , y j)j 0,1,...,n, 判断x [ x j 1 , x j ] , 则f ( x)用[ x j 1 , x j ]上的现性插值函数表示 。 计算机上实现 u x,,若u x1取j 1, 即x [ x0 , x1 ], u x0 , 也选j 1,则外插) (若 若u x2 , 取j 2
其中a j , b j , c j .d j为待定常数,插值条件 为: ( )s ( x j ) f ( x j ) (j 0,1,...,n); 1 (2) (n 1)内节点处连续及光滑性 条件: s ( x j 0) s ( x j 0) s( x j 0) s( x j 0) j 1,2,...,n 1 s( x j 0) s( x j 0)
分段线性插值
一般的,x j 1 u x j , 则线性插值函数为 u y j 1 (u x j 1 )( y j y j 1 ) /( x j x j 1 ) 这是因为 y x xj x j 1 x j y j 1 x x j 1 x j x j 1 yj
三次样条插值
用三弯矩阵构造三次样 条插值函数 令s( xi ) M i (i 0,1,2,...n)。因为s ( x)在[ xi , xi 1 ]上 是三次多项式,所以 ( x)在[ xi , xi 1 ]上是一次多 s 项式,故有 M i 1 M i s( x) xi 1 xi x [ xi , xi ! ]
h max {h j x j x j 1}足够小才能较好的逼近 。
分段三次Hermite插值
上述分段线性插值曲线是折线,光滑性 差,如果交通工具用这样的外形,则势 必加大摩擦系数,增加阻力,因此用 hermite分段插值更好。
分段三次Hermite插值
三次Herm ite 插值 x [ x j 1 , x j ]时 H 3 ( x) j 1 ( x) y j 1 j ( x) y j j 1 ( x) f j1 j ( x) f j 令 u x j 1 u x j 2 A1 j 1 (u ) (1 2 )( ) hj hj u x j u x j 1 2 A2 j (u ) (1 2 )( ) hj hj B1 j 1 (u ) (u x j 1 )( B2 j (u ) (u x j )( u xj hj )2 )2
三次样条插值
对于待定系数a j , b j , c j .d j j 1,2,...n,即4n个未知系数,
而插值条件为 n 2个,还缺两个,因此须 4 给出两个 条件称为边界条件,有 以下三类: 第一类 已知两端点的一阶导数 s( x0 ) f ( x0 ) m0 s( xn ) f ( xn ) mn
三次样条插值
则上式为 1 1 f [ xi 1 , xi ] ( M i 1 2 M i )hi 1 f [ xi , xi 1 ] (2 M i M i 1 )hi 6 6 即 (2 M i M i 1 )hi ( M i 1 2 M i )hi 1 6( f [ xi 1 , xi ] f [ xi , xi 1 ]) 也就是 hi M i 1 2(hi hi 1 ) M i hi 1M i 1 6( f [ xi 1 , xi ] f [ xi , xi 1 ])
例题
所以得 H 3 ( x) 2(2 x 1)(x 2) 2 3(2 x 3)(x 1) 2 ( x 1)(x 2) 2 ( x 2)(x 1) 2 3x 3 8 x 2 9 x 5
4.4.2 三次样条插值
定义 设函数f ( x)是区间 a, b]上的二次连续可微函数 [ , 在区间 a,b]上给出一个划分 [ :a x0 x1 ... xn 1 xn b 如果函数s( x)满足条件 ( )( x j ) f ( x j ) 1 s 三次多项式; (3) 在开区间(a, b)上s( x)有连续的二阶导数 , 则称s ( x)为区间 a, b]对应于划分的三次样条函数。 [ ( j 0,1,2,...n);
u xj hj
分段三次Hermite插值算法
则 v A1 y j 1 A2 y j B1 f j1 B2 f j
算法: 1.输入x j , f j , f j (j 0,1,...,n); 2.计算插值 (1)输入插值点u; (2)对于j 1,2,...,n做 如果u x j 则计算A1 , A2 , B1 , B2 ; v A1 f j 1 A2 f j B1 f j1 B2 f j; 3.输出u , v。
三次样条插值
第二类: .已知两端点二阶导数 s( x0 ) f ( x0 ) M 0 s( xn ) f ( xn ) M n 当M 0 M n 0时为自然边界条件 第三类:周期边界条件 s ( x0 ) s ( xn ) s( x0 0) s( x0 0) s( xn 0) s( xn 0)
三次样条插值
于是由Taylor展示有 s( x) s( xi ) s( xi )(x xi ) s( xi ) s( xi ) 2 ( x xi ) ( x xi )3 2! 3! M M Mi yi s( xi )(x x j ) i ( x xi ) 2 i 1 ( x xi )3 2! 3!( xi 1 xi )
分段线性插值
10 20 v y j 1 (u x j 1 )( y j y j 1 ) /( x j x j 1 ) 输出u, v
分段插值函数 I ( x) x ( x , x ) 0 1 1 I ( x) x ( x , x ) 1 2 I ( x) 2 ...... I ( x) x ( x , x ) n 1 n n
例题
例 设 f (1) 2,f (2) 3,f (1) 1,f (2) 1, 求满足条件的Herm ite插值多项式。 解:x0 1, x1 2, h 2 1 1 则
A1 (1 2( x 1))(x 2) 2 (2 x 1)(x 2) 2 A2 (1 2( x 2))(x 1) 2 (2 x 3)(x 1) 2 B1 ( x 1)(x 2) 2 B2 ( x 2)(x 1) 2