当前位置:文档之家› 第三讲三次样条函数

第三讲三次样条函数


给定区间[0, 上 例1 给定区间 3]上 3 个点的函数 值 f(0)=0, f(1)=2, f(3)=4, 试求数 a, b, c, d, 使函数 S(x)为给定点上的三次样条插值 为给定点上的三次样条插值 函数. 函数 其中 x2 + x + d , 0≤ x ≤1 S( x) = 3 . 2 ax + bx + cx + 1, 1 ≤ x ≤ 3
答案: 答案 a = −1, b = 4, c = −2, d = 0.
给定n+1个样点 i, yi )(i=0, 1, …, n), 个样点(x 给定 个样点 确定一个三次样条插值函数需要4n个独 确定一个三次样条插值函数需要 个独 立条件. 在定义中, 已指定了4n–2个条件 即 个条件, 立条件 在定义中 已指定了 个条件
yi Mi yi +1 Mi +1 + − hi ( xi +1 − x ) + − hi ( x − xi ) 6 6 hi hi
x ∈ [ x i , x i +1 ]
( xi +1 − x )2 ( x − xi )2 S ′( x ) = − Mi + Mi +1 2hi 2hi yi +1 − yi Mi +1 − Mi hi + − hi 6
M 0 d0 M d 1 1 M 2 d2 = M M λ n −1 M n −1 d n −1 2 M n dn
对于第1型插值问题 对于第 型插值问题: 型插值问题 λ 0 = 1, d 0 = 6 ( y1 − y 0 ) h0 − y 0′ h0 , µ n = 1, d n = 6 y n′ − ( y n − y n − 1 ) hn − 1 hn − 1 . 对于第2型插值问题 型插值问题: 对于第 型插值问题 λ 0 = 0, d 0 = 2 y 0′′ , µ n = 0, d n = 2 y n′′ . 对于第3型插值问题 对于第 型插值问题: 型插值问题
的求法. 下面考虑 Mi 的求法 由连续性 S'(xi –)= S'(xi+), (i=1, 2, … , n–1) 得 µiMi –1+2Mi+λiMi+1= di 其中
该方程组有n–1个方程 个方程, 该方程组有 个方程 hi −1 但有n+1个变量 i. 个变量M 但有 个变量 , λi =1− µi µi = hi + hi −1 d = 6 yi +1 − yi − yi − yi −1 (h + h )−1 i i −1 i hi −1 hi
三、三次样条函数的构造
——三弯矩插值法 三弯矩插值法 ′′(x 记 Mi = S′′ i), f(xi)= fi= yi , 考虑它在任 ′′ 区间[x 上的形式. 根据三次样条的定义可知, 一区间 i, xi+1]上的形式 根据三次样条的定义可知 上的形式 S(x)的二阶导数 S′′ 在每一个子区间 i, xi+1]( i=0, 1, ′′(x)在每一个子区间 的二阶导数 ′′ 在每一个子区间[x 2, , n–1)上都是线性函数 上都是线性函数. 上都是线性函数 于是在[x 于是在 i, xi+1]上 S(x)=Si(x)的二阶导数表示成 上 的二阶导数表示成 x i +1 − x x − xi S ′′( x ) = M i + M i +1 x ∈ [ xi , xi +1 ], hi hi 其中 hi= xi+1–xi .
二、三次样条插值
样条插值的思想 样条插值的思想: 逐段选取适当的 思想 低次多项式, 低次多项式 按一定的光滑性要求连接起来 构成插值函数. 构成插值函数 设给定区间[a, 上 定义 设给定区间 b]上n+1个点 a=x0<x1<x2< 个点 <xn=b, 以及相应的函数值 yi=f(xi), i=0, 1, …, n. 如果 函数S(x)满足 满足: 函数 满足 (1)在每个子区间 [xk , xk+1](k=0,1,…,n–1)上, S(x) 在每个子区间 上 是不超过三次的多项式, 是不超过三次的多项式 且S(xi )=yi, i=0, 1, … , n; (2) S(x)、 S′(x)、 S′′(x)在[a, b]上连续 上连续. 、 、 在 上连续 则称S(x)是f(x)在节点 0, x1, x2, …, xn上的三次样条插 在节点x 上的三次样条插 则称 是 在节点 值函数. 值函数
练习 的数值表如下: 已知函数 f(x)的数值表如下: 的数值表如下 x 2 4 6 f(x) 3 7 13 1 –1 f ′(x) 上的三次样条插值函数. 试求 f(x) 在[2, 6]上的三次样条插值函数 上的三次样条插值函数
求三次样条插值函数的步骤归纳为: 求三次样条插值函数的步骤归纳为 (1)确定边界条件 判定是第几型插 确定边界条件, 确定边界条件 值问题. 值问题 (2)根据所确定的条件计算各值 形成方程组 根据所确定的条件计算各值, 形成方程组. 根据所确定的条件计算各值 (3)解方程组 求得 0, M1 , M2, Mn. 解方程组, 求得M 解方程组 (4)将求得的 Mi 值代回 S(x)的表达式中 从而可 的表达式中, 将求得的 的表达式中 在任一点的近似值S(x). 求得函数 y=f(x)在任一点的近似值 在任一点的近似值
一、样条函数
是区间[a, 上的一个连 定义 设f(x)是区间 b]上的一个连 是区间 续可微函数, 在区间[a, 上给定一组节点 上给定一组节点: 续可微函数 在区间 b]上给定一组节点 a=x0<x1<x2< <xn=b 设函数S(x)满足条件 满足条件: 设函数 满足条件 (1) S(x)在每个子区间[xi , xi+1](i=0, 1, 2, S(x)在每个子区间 在每个子区间[x
S( x0 ) = y0 , S( xn ) = yn S− ( xi ) = S+ ( xi ) = yi , (i = 1,2,...n − 1) ′ ′ S− ( xi ) = S+ ( xi ), S′′ ( x ) = S′′ ( x ), + i − i 所以, 一般需补充指定2个边界条件. 所以 一般需补充指定 个边界条件
计算方法
第3讲 样条函数 讲
本讲主要问题
一、样条函数 二、三次样条插值 三、三次样条函数的构造
分段插值存在着一个缺点, 分段插值存在着一个缺点 就是会导致插 值函数在子区间的端点(衔接处 不光滑, 衔接处)不光滑 值函数在子区间的端点 衔接处 不光滑 即导 数不连续, 对于一些实际问题, 数不连续 对于一些实际问题 不但要求一阶导数 连续, 而且要求二阶导数连续. 为了满足这些要求, 连续 而且要求二阶导数连续 为了满足这些要求 人们 引入了样条插值的概念. 引入了样条插值的概念 样条” 是工程绘图中的一种工具, 所谓 “样条” (spline)是工程绘图中的一种工具 它是有 是工程绘图中的一种工具 弹 性的细长木条. 绘图时, 用细木条连接相近的几个结点, 性的细长木条 绘图时 用细木条连接相近的几个结点 然后 再进行拼接,连接全部结点 使之成为一条光滑曲线, 连接全部结点, 再进行拼接 连接全部结点 使之成为一条光滑曲线 且在结 点处具有连续的曲率. 点处具有连续的曲率 样条函数就是对这样的曲线进行数学模拟得到的. 样条函数就是对这样的曲线进行数学模拟得到的 它除 了要求给出各个结点处的函数值外, 了要求给出各个结点处的函数值外 只需提供两个边界点处 导数信息, 便可满足对光滑性的不同要求. 导数信息 便可满足对光滑性的不同要求
给定函数表, 例2 给定函数表 求自然三次样条 插值函数, 并求f(3). 插值函数 并求 x y
答案: 答案
1 1
2 3
4 4
5 2
x ∈ [1 , 2] x ∈ [2 , 4] x ∈ [4 , 5]
1 + 17 ( x − 1) − 1 ( x − 1)3 , 8 8 7 3 S ( x ) = 3 + 4 ( x − 2) − 8 ( x − 2)2 − 1 ( x − 2)3 , 8 5 3 4 − 4 ( x − 4) − 9 ( x − 4)2 + 8 ( x − 4)3 , 8 7 3 1 f ( 3) ≈ S ( 3) = 3 + − − = 4.25 4 8 8
以上各组条件与前述方程组联立, 以上各组条件与前述方程组联立 可以解出未知参数 M0, M1, … , Mn, 然 后代入S(x) 表达式 即可求得样条函数 表达式, 即可求得样条函数. 后代入 上面构造方法中 Mi 相应于力学中细梁在 xi 处 截面的弯矩, 截面的弯矩 每一个方程中又至多出现相邻的三个 Mi, 通常称为三弯矩法 通常称为三弯矩法 三弯矩法.
M n = M0 λ n M 1 + µ n M n −1 + 2 M n = d n

µ n = hn ( hn + h1 ) , λ n = 1 − µ n 其中 . −1 d n = 6 [ y1 − y 0 h1 − ( y n − y n − 1 ) hn ] ( h1 + hn )
′′(x)连续积分两次 对S′′ 连续积分两次 并利用插值 ′′ 连续积分两次, 条件S(x 条件 i)= yi , 得到 只要能求出所有的 ( xi +1 − x )3 ( x − xi )3 {Mi}, 就能求出三次 S ( x ) = Mi + Mi +1 样条插值函数S(x). 样条插值函数 6hi 6hi
相关主题