- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
02-函数插值--三次样条插值
展开查看详情
1 .1 第二章 函 数 插 值 — 三次样条插值
2 .什么是三次样条插值 2 即二阶连续可导 插值条件: S ( x k ) = f ( x k ) = y k 在每个小区间 [ x k , x k+ 1 ] 上是三次多项式 给定插值节点 x 0 , x 1 , … , x n [ a , b ] 及函数值 f ( x k ) = y k , k = 0, 1, 2, …, n 求一个定义在 [ a , b ] 上的插值函数 S ( x ) ,满足:
3 .内容提要 3 三次样条插值 什么是三次样条 函数 边界条件的处理 三次样条函数的计算 具体计算过程
4 .4 三次样条插值 定义: 设插值节点为 a = x 0 < x 1 < … < x n -1 < x n = b 若函数 S ( x ) C 2 [ a , b ] ,且 在每个小区间 [ x k , x k +1 ] 上是三次多项式,则称其为 三次样条函数 如果同时还满足 S ( x k ) = f ( x k ) = y k , k = 0, 1, 2, …, n 则称 S ( x ) 为 f ( x ) 在 [ a , b ] 上的 三次样条插值函数
5 .5 三次样条插值 S ( x ) 满足: ① S ( x ) C 2 [ a , b ] ; ② 在 [ x k , x k +1 ] 是三次多项式 ③ S ( x k ) = y k , k = 0, 1, 2, …, n 其中 s k ( x ) 为 [ x k , x k+ 1 ] 上的三次多项式,且满足 s k ( x k ) = y k , s k ( x k +1 ) = y k+ 1 k = 0, 1, …, n -1 怎样计算三次样条插值函数
6 .6 边界条件 每个 s k ( x ) 均为三次多项式,有 4 个待定系数,所以共有 4 n 个待定系数,故需 4 n 个方程。前面已经得到 2 n + 2 ( n - 1) = 4 n - 2 个方程,还缺 2 个方程! 实际问题通常对样条函数在两个端点处的状态有要求,即所谓的 边界条件 ( k = 1, 2, …, n- 1)
7 .7 常用的边界条件 第一类边界条件: 给定函数在端点处的 一阶导数 ,即 第二类边界条件: 给定函数在端点处的 二阶导数 ,即 当 时,称为 自然边界条件 , 此时的样条函数称为 自然样条函数 第三类边界条件: 若 f ( x ) 是周期函数,且 x n – x 0 是一个周期,于是要求 S ( x ) 也是周期函数 , 即满足
8 .8 三次样条函数的计算 设 S ” ( x k ) = M k , k = 0, 1, 2, …, n 由于 s k ( x ) 是三次多项式,故 s k ” ( x ) 为线性函数,且 s k ” ( x k ) = M k , s k ” ( x k +1 ) = M k +1 下面计算 S ( x ) 在 [ x k , x k+ 1 ] 的表达式 s k ( x ) 由线性插值公式可得 求积分,可得
9 .9 三次样条函数的计算 将插值条件 s k ( x k ) = y k , s k ( x k +1 ) = y k+ 1 代入,即可确定积分常数 c 1 和 c 2 。整理后可得 s k ( x ) 的表达式为 只需确定 M 0 , M 1 , … , M n 的值,即可给出 s k ( x ) 的表达式,从而可以得到 S ( x ) 的表达式。 k = 0, 1, …, n -1
10 .10 M k 的 计算 条件: 易知 6 f [ x k -1 , x k , x k +1 ] d k k k
11 .11 M k 的计算 或 k = 1, 2, …, n -1
12 .12 M k 的 计算 整理后得关于 M k -1 , M k 和 M k+ 1 的方程: 共 n -1 个方程,附加 边界条件 ,补充两个方程后,即可确定 n +1 个未知量 M 0 , M 1 , … , M n 其中 k = 1, 2, …, n -1
13 .13 第一类边界条件 第一类边界条件: 直接代入 s k ( x ) 的一阶导数表达式即得 与前面的 n -1 个方程联立可得 n+ 1 阶线性方程组:
14 .14 第二类边界条件 故前面方程中只含 n -1 个未知量,即可得 n -1 阶线性方程组: 第二类边界条件: 直接可得
15 .15 第三类边界条件 第三类边界条件: 可得 其中 与前面的 n -1 个方程联立可得 n 阶线性方程组:
16 .16 具体计算过程 上述三个方程都存在 唯一解 。 具体计算过程 (1) 根据 插值条件 和 边界条件 给 出 M 0 , M 1 , … , M n 的方程组 (2) 解方程 (3) 将 M 0 , M 1 , … , M n 代入 s k ( x ) 的表达式 , 写出 三次样条函数 S ( x ) 在整个插值区间上的分段 表达式
17 .17 具体计算过程 三弯 矩 方程
18 .18 具体计算过程 Matlab 中三次样条插值函数 spline 输出的多项式是按上面的格式输出的! 注: 需将 s k ( x ) 写 成如下形式 s k ( x ) = a 3 ( x - x k ) 3 + a 2 ( x - x k ) 2 + a 1 ( x - x k ) + a 0
19 .19 插值举例 例 : ( 教材 44 页,例 7) 函数 f ( x ) 定义在 [27.7, 30] 上 ,插值节点及函数值如下 ,试求三次样条插值多项式 S ( x ) ,满足边界条件 S ’ (27.7)=3.0, S ’ (30)= - 4.0 解 : ( 板书 ) x 27.7 28 29 30 f ( x ) 4.1 4.3 4.1 3.0 ex28.m
20 .20 误差估计 误差估计(了解) 定理: 设 f ( x ) C 4 [ a , b ] , S ( x ) 为满足第一或第二类边界条件的三次样条函数,则 其中 证明: 不要求
21 .21 插值举例 例: ( 教材 45 页,例 8 ,上机 ) 函数 , 插值区间 [- 5, 5 ] ,取 11 个等距节点,试同时画出 10 次插值多项式 L 10 ( x ) 与三次样条插值多项式 S ( x ) 的函数图形 ex29.m
22 .22 作业 1. 教材 第 48 页: 20 ( 2 ), 21 提示: 第 20 题:将 S ( x ) 在每个小 区间上的表达式写成下面的 形式