三次样条插值
4.3三次样条插值
xj是qj(x)的m重根
q(ji ) ( x j ) p(ji)1 ( x j ) p(ji ) ( x j ) 0, i 0,1,...,m 1
q j ( x) c j ( x x j )m
光滑因子
p j ( x) p j 1 ( x) c j ( x x j )m
维数为n+3
利用两点三次Hermite插值公式, 设
s( xk ) mk (k 0,1,, n), hk xk 1 xk (k 0,1,, n 1)
当x∈[xk, xk+1]时,
x xk s x 1 2 hk x x k 1 x x k 1 x x k h yk 1 2 h k k hk
三对角 严格对角占优
2 1
1 2
1
2
2
2
n 1
2 n 1 1 2
m0 g 0 m g 1 1 m2 g 2 mn 1 g n 1 mn gn
n
s( x) pm ( x) c j ( x x j )m , x
j 1
m m Sm ( x1, x2 ,...,xn ) span {1, x,.., xm , ( x x1 )m , ( x x ) ,..., ( x x ) 2 n }
2 2 2
y k 1
2
x x k 1 x xk ( x x k ) h mk ( x x k 1 ) h k k
三次样条插值的方法和思路
三次样条插值的方法和思路摘要:1.三次样条插值的基本概念2.三次样条插值的数学原理3.三次样条插值的实现步骤4.三次样条插值的优缺点5.三次样条插值在实际应用中的案例正文:在日常的科学研究和工程应用中,我们经常会遇到需要对一组数据进行插值的问题。
插值方法有很多,其中三次样条插值是一种常见且有效的方法。
本文将从基本概念、数学原理、实现步骤、优缺点以及实际应用案例等方面,全面介绍三次样条插值的方法和思路。
一、三次样条插值的基本概念三次样条插值(Cubic Spline Interpolation)是一种基于分段多项式的插值方法。
它通过在各个节点上构建一条三次多项式曲线,使得这条曲线在节点之间满足插值条件,从而达到拟合数据的目的。
二、三次样条插值的数学原理三次样条插值的数学原理可以分为两个部分:一是分段三次多项式的构建,二是插值条件的满足。
1.分段三次多项式的构建假设有一组数据点序列为(x0,y0),(x1,y1),(x2,y2),(x3,y3),我们可以将这些数据点连接起来,构建一条分段三次多项式曲线。
分段三次多项式在每个子区间上都是一个三次多项式,它们之间通过节点值进行连接。
2.插值条件的满足为了使分段三次多项式在节点之间满足插值条件,我们需要在每个子区间上满足以下四个条件:(1)端点条件:三次多项式在区间的端点上分别等于节点值;(2)二阶导数条件:三次多项式在区间内的二阶导数等于节点间的斜率;(3)三阶导数条件:三次多项式在区间内的三阶导数等于节点间的曲率;(4)内部点条件:三次多项式在区间内部满足插值函数的连续性。
通过求解这四个条件,我们可以得到分段三次多项式的系数,从而实现插值。
三、三次样条插值的实现步骤1.确定插值节点:根据数据点的位置,选取合适的节点;2.构建分段三次多项式:根据节点值和插值条件,求解分段三次多项式的系数;3.计算插值结果:将待插值点的横坐标代入分段三次多项式,得到插值结果。
3.4三次样条插值
3.4.2
三次样条函数插值法
样条(Spline)是早期飞机、造船工作中,绘图员 是早期飞机、造船工作中, 样条 是早期飞机 用来画光滑曲线的细木条或细金属丝。绘图时, 用来画光滑曲线的细木条或细金属丝。绘图时,为 将一些已知点连成光滑的曲线, 将一些已知点连成光滑的曲线,绘图员用压铁把样 条固定在这些点处,因样条有弹性, 条固定在这些点处,因样条有弹性,便形成通过这 些点的光滑曲线,沿着它就可画出所需曲线。数学 些点的光滑曲线,沿着它就可画出所需曲线。 上仿此得出的函数便称为样条函数。 上仿此得出的函数便称为样条函数。 是一种分段函数, 所谓 m 次样条函数 S(x) ,是一种分段函数, 它在节点(a = x0 < x1 <L< xn−1 < xn = b) 分成的每个 xi 小区间i−1, xi ] 上是 次多项式,而在整个区间 ,b] [x [a m 次多项式, 阶导数连续。常用三次样条函数。 上 m−1 阶导数连续。常用三次样条函数。
样条插值的存在惟一问题
1)由于在每个小区间上是三次多项式,有四个 由于在每个小区间上是三次多项式, 待定系数。有个n小区间,共4n个待定系数。 待定系数。有个n小区间, 待定系数。 2)分析三次样条函数满足的条件可得: 分析三次样条函数满足的条件可得: 每个小区间的两个端点上满足插值条件
S j +1 ( x j ) = y j S j +1 ( x j +1 ) = y j +1 ( j = 0,1,2L , n − 1)
( x − x1)( x − x2 ) 1 = 2 ( x − x1 )( x − x2 ) l0(x) = ( x0 − x1)( x0 − x2 ) 2h ( x − x0 )( x − x2 ) 1 其中 l1(x) = = − 2 ( x − x0 )( x − x2 ) ( x1 − x0 )( x1 − x2 ) h (x − x0 )( x − x1) 1 l2(x) = ( x − x )( x − x ) = 2h2 ( x − x0 )( x − x1 ) 2 0 2 1
三次样条插值
0)
s(xn 0) s(xn 0)
三弯矩插值法
x xi,
x i+1
s”(x) M i , M i+1
记Mi = s″(xi), f(xi)= yi ,考虑它在任一区间[xi, xi+1]上的形式. 根据三次样条的定义可知 , s(x)的二阶导数 s ″(x)在每一个子区
间[xi, xi+1] ( i=0,1,2,,n-1)上都是线性函数.
2 6
M
i
)(xi1
xi
)
(1)
同理在[xi1, xi ]上讨论得
s(xi )
yi xi
yi1 xi1
(
2 6
M
i
1 6 M i1)(xi
xi1)
(2)
因为s( x)连续,所以(1)(2)即
yi1 yi xi1 xi
1 ( 6 M i1
2 6
M i )(xi1
xi )
yi xi
yi1 xi1
(2) (n 1)内节点处连续及光滑性条件:
s(x s( x
j j
0) 0)
s(x j 0) s(x j 0)
j
1,2,...,n
1
s(x j 0) s(x j 0)
对于待定系数a j ,bj , c j .d j j 1,2,...n,即4n个未知系数,
而插值条件为4n 2个,还缺两个,因此须给出两个 条件称为边界条件,有以下三类:
——分段三次插值多项式
分段插值存在着一个缺点,就是会导致插值函数在子区间的端点 (衔接处)不光滑,即导数不连续。
实际应用中,如机翼设计、船体放样等往往要求有二阶光滑度, 即二阶连续导数。早期工程师制图时,把富有弹性的细长木条 (所谓样条SPLINE )用压铁固定在样点上,其它地方让其自 由弯曲,然后画下曲线(称为样条曲线),它实际上是由分段 多项式光滑连接而成,在样点上要求二阶连续可导。
三次样条插值ppt
把以上各式由后向前代入,可得
Nn (x) f (x0) f [x0, x1](x x0) f [x0, x1, xn](x x0) (x xn1)
Rn (x) f (x) Nn (x) f [x, x0, x1, xn ](x x0) (x xn)
yi
n1 ( x) ( x xi )n' 1 ( xi )
(2)插值误差估计
定理2 设 f (n) (x) 在[a,b] 上连续,f (n1) (x)在 (a,b) 内存在, 节点 a x0 x1 xn b,Pn (x) 是拉格朗日插值多项 式,则对任意 x [a,b] , 插值余项
x4 f ( x4 ) f [x3, x4 ] f [x2 , x3 , x4 ] f [x1, x2, x3, x4 ] f [x0, x1, x2, x3, x4 ]
(2) Newton插值公式
由差约定义 x [a,b]
f (x) f (x0 ) f [x, x0 ](x x0 )
f [x, x0 ] f [x0, x1] f [x, x0, x1](x x1)
xn1] f [x1, x2 , x0 xn
xn ] n 阶差商
差商表
xk
f
(xk )
一阶 差商
二阶差商
三阶差商 四阶差商
x0 f (x0 )
x1 f (x1) f [x0, x1]
x2 f (x2 ) f [x1, x2 ] f [x0 , x1, x2 ]
x3 f (x3 ) f [x2, x3] f [x1, x2 , x3 ] f [x0, x1, x2, x3]
三次样条插值
三次样条插值分段线性插值的优点:计算简单、稳定性好、收敛性有保证且易在计算机上实现缺点:它只能保证各小段曲线在连接点的连续性,却无法保证整条曲线的光滑性,这就不能满足某些工程技术的要求。
三次Hermit 插值优点:有较好的光滑性,缺点:要求节点的一阶导数已知。
从20世纪60年代开始,首先由于航空、造船等工程设计的需要而发展起来所谓样条(Spline)插值方法,既保留了分段低次插值多项式的各种优点,又提高了插值函数的光滑性。
今天,样条插值方法已成为数值逼近的一个极其重要的分支,在许多领域里得到越来越多广泛应用。
我们介绍应用最广的具二阶连续导数的三次样条插值函数。
一、三次样条插值函数的定义:给定区间],[b a 上的个节点b x x x a n =<<<= 10和这些点上的函数值),,1,0()(n i y x f i i == 若)(x S 满足: (1)),,2,1,0()(n i y x S i i ==;(2)在每个小区间],[b a 上至多是一个三次多项式; (3))(),(),(x S x S x S '''在],[b a 上连续。
则称)(x S 为函数)(x f 关于节点的n x x x ,,,10 三次样条插值函数。
二、边界问题的提出与类型单靠一个函数表是不能完全构造出一个三次样条插值函数。
我们分析一下其条件个数,条件(2)三次样条插值函数)(x S 是一个分段三次多项式,若用)(x S i 表示它在第i 个子区间],[1i i x x -上的表达式,则)(x S i 形如],[,)(1332210i i i i i i i x x x x a x a x a a x S -∈+++=其中有四个待定系数)3,2,1,0(=j a ij ,子区间共有n 个,所以)(x S 共有n 4个待定系数。
由条件(3))(),(),(x S x S x S '''在],[b a 上连续,即它们在各个子区间上的连接点110,,,-n x x x 上连续即可,共有)1(4-n 个条件,即⎪⎪⎩⎪⎪⎨⎧==-=+''=-''-=+'=-'-=+=-),2,1,0()()1,,2,1)(0()0()1,,2,1)(0()0()1,,2,1)(0()0(n i y x S n i x S x S n i x S x S n i x S x S i i i i i i i i 共有241)1(3-=++-n n n 个条件,未知量的个数是n 4个。
2.3 三次样条插值
( 唯一3 唯一3次样条插值函数 S ( x ),且满足 (a) 或(b)或(c))。
第二章 插值与拟合
已知f(–1) = 1, f(0) = 0, f(1) = 1.求[–1,1] 例 1 已知 求 , 上的三次自然样条(满足自然边界条件 满足自然边界条件). 上的三次自然样条 满足自然边界条件 解设 a1 x 3 + b1 x 2 + c1 x + d 1 , x ∈ [−1, 0]
第二章 插值与拟合
相同数据3次样条插值与 相同数据3次样条插值与Lagrange插值效果比较 插值效果比较
Cubic Spline Interpolation Interpolation
Lagrange
二、样条函数的定义
第二章 插值与拟合
下面介绍应用最广且只有二阶连续导数的三次样条函 下面介绍应用最广且只有二阶连续导数的三次样条函 二阶连续导数 在数学上,三次样条曲线表现为近似于一条分段的三次 数. 在数学上,三次样条曲线表现为近似于一条分段的三次 多项式,它要求在节点处具有一阶和二阶连续导数。 多项式,它要求在节点处具有一阶和二阶连续导数。 定义 2.8 (三次样条函数) 次样条函数) 设有对[a,b]的剖分 ∆ : a = x0 < x1 < L< xn = b, 如果函数 S(x) 设有对 的剖分 满足下述条件: 满足下述条件:
1
2
3
4
1 0 .8 0 .6 0 .4 0 .2 0 0
1
2
3
4
π /2 π
1 0 0 –1
2.3.1 三次样条插值函数的概念 第二章
样条函数及三次样条插值PPT课件
(x)
lim
x xk
Sk 1( x)
lim
x
x
k
Sk (x)
lim
x
x
k
Sk1( x)
k 1,2,,n 1
------(4)
lim
x
x
k
Sk( x)
lim
x
x
k
Sk1( x)
共4n 2个条件
5
Sk (x)是[xk , xk 1 ]上的三次样条插值多项式,应有4个待定的系数 即要确定S(x)必须确定4n个待定的系数 少两个条件 并且我们不能只对插值函数在中间节点的状态进行限制 也要对插值多项式在两端点的状态加以要求 也就是所谓的边界条件:
例. 使用不同的插值方法于函数
y
1
1 x2
x [5,5]
最后,介绍一个有用的结论
定理 . 设f (x) C 2[a,b], S(x)是以xk (k 0,1,, n)
为节点, 满足任意边界条件的三次样条插值函数,
设hi
xi 1
xi
,
h
max
0in1
hi
,
min
0in1
hi
,
则当 h
c 时
S(x)和S(x)在[a,b]上一致收敛到f (x)和f (x)
------(6)
13
由(11)式,可知
S0( x0
)
6( x0
x1 h03
2 x0
) ( y1
y0 )
6 x0
2 x0 h02
4 x1
m0
6 x0
4 x0 h02
2 x1
m1
6 h02
(
三次样条插值算法详解
三次样条插值算法要求数据点数量较多,且在某些情况下可能存在数值不稳定性,如数据 点过多或数据点分布不均等情况。此外,该算法对于离散数据点的拟合效果可能不如其他 插值方法。
对未来研究的展望
01
02
03
改进算法稳定性
针对数值不稳定性问题, 未来研究可以探索改进算 法的数值稳定性,提高算 法的鲁棒性。
3
数据转换
对数据进行必要的转换,如标准化、归一化等, 以适应算法需求。
构建插值函数
确定插值节点
根据数据点确定插值节点,确保插值函数在节点处连续且光滑。
构造插值多项式
根据节点和数据点,构造三次多项式作为插值函数。
确定边界条件
根据实际情况确定插值函数的边界条件,如周期性、对称性等。
求解插值函数
求解线性方程组
06
结论
三次样条插值算法总结
适用性
三次样条插值算法适用于各种连续、光滑、可微的分段函数插值问题,尤其在处理具有复 杂变化趋势的数据时表现出色。
优点
该算法能够保证插值函数在分段连接处连续且具有二阶导数,从而在插值过程中保持数据 的平滑性和连续性。此外,三次样条插值算法具有简单、易实现的特点,且计算效率较高 。
根据数据点的数量和分布,合理分段,确保 拟合的精度和连续性。
求解线性方程组
使用高效的方法求解线性方程组,如高斯消 元法或迭代法。
结果输出
输出拟合得到的插值函数,以及相关的误差 分析和图表。
03
三次样条插值算法步骤
数据准备
1 2
数据收集
收集需要插值的原始数据点,确保数据准确可靠。
数据清洗
对数据进行预处理,如去除异常值、缺失值处理 等。
三次样条插值求导法
三次样条插值求导法三次样条插值法是一种常用的数值分析方法,用于近似插值实现平滑曲线的拟合。
它的优点在于可以保持原始数据的特性,同时能够降低数据间的噪声干扰,使得插值的结果更加准确。
本文将介绍三次样条插值法的原理、算法以及应用方面的指导意义。
首先,我们需要了解三次样条插值法的基本原理。
三次样条插值法通过在相邻数据点之间构造三次多项式来近似拟合原始数据。
这些三次多项式满足一定的光滑性条件,使得插值结果的曲线平滑而连续。
在三次样条插值中,每个数据点都对应一个三次多项式,并且相邻多项式之间的导数和二阶导数必须相等,以保证曲线的平滑性。
接下来,我们将介绍三次样条插值法的算法步骤。
首先,我们需要确定每个数据点对应的三次多项式。
为了满足光滑性条件,我们需要计算每个数据点处的导数值。
这可以通过求解一个线性方程组来实现,其中方程的个数等于数据点的个数。
解得导数值之后,我们就可以得到每个数据点对应的三次多项式的系数。
然后,我们需要利用这些系数来计算在数据点之间的插值结果。
为了实现这一点,我们可以利用三次多项式的性质,通过给定的数据点和对应的三次多项式系数,来计算在两个相邻数据点之间的插值结果。
最后,我们需要通过合理的选择数据点以及插值节点的间距,来获得更加准确的三次样条插值结果。
一般来说,数据点的选择应尽量满足曲线的变化趋势,以反映原始数据的特点。
此外,插值节点的间距也需要经过合理的选择,以保证插值结果的准确性。
三次样条插值法在实际应用中有着广泛的意义和指导价值。
首先,它可以用于光滑曲线的拟合,将离散的数据点进行连续化处理,使得数据的绘图和分析更加方便。
其次,它可以用于数据的插值预测,通过已有的数据点来预测未知数据点的取值。
此外,三次样条插值法还可以在数字图像处理中用于图像的平滑和插值填充,从而改善图像的质量和美观度。
综上所述,三次样条插值法是一种有效的数值分析方法,可以用于实现平滑曲线的拟合和数据的插值预测。
通过了解其原理、算法以及应用方面的指导意义,我们可以更好地理解和应用这一方法,从而提高数据处理和分析的准确性和效率。
三次样条插值
插值的根本区别在于S(x)自 注:三次样条与分段 Hermite 插值的根本区别在于 自 的导数值(除了在2个端点可能需 身光滑, 身光滑,不需要知道 f 的导数值(除了在 个端点可能需 );而 插值依赖于f 要);而Hermite插值依赖于 在所有插值点的导数值。 插值依赖于 在所有插值点的导数值。
§4.6 三次样条插值
2 定义4.6.1 设 a = x0 < x1 < ... < xn = b。三次样条函数S ( x ) ∈ C [ a , b ] , 定义
且 在 每 个 [ x i , x i +1 ] 上 为 三 次 多 项 式
。若它同时还满
三次样条插值函数。 足 S ( xi ) = f ( xi ), ( i = 0, ... , n),则称它为 f 的三次样条插值函数。
( x j x )2 ( x x j 1 ) 2 + M j 1 + Aj S[j]'(x) = M j 1 2h j 2h j
利用已知
S[j](xj1) = yj1 S[j](xj) = yj
( x j x) ( x x j 1 ) [j](x) = + Mj + Aj x + B j S M j 1 6hj 6hj
这时: 0 = 0 , g0 = 2 y0′ ; n = 0 , gn = 2 y′′ 这时: ′ λ n 特别地, 称为自然边界 对应的样条函数称为自 特别地,M0 = Mn = 0 称为自然边界,对应的样条函数称为自 然样条。 类边界条件: 第3类边界条件: 类边界条件 M g 2 λ 周期函数时 当 f 为周期函数时,
3 3
可解
yj yj1 Mj Mj1 Aj = hj hj 6
三次样条插值
一、问题提出
为给定的节点, 设 x0 , x1 xn 为给定的节点,yi = f ( xi ) ,i = 0,1, n 为相应的函数值, 为相应的函数值,求一个次数不超过 n 的多项式 Pn (x), 使其满足
Pn ( xi ) = yi,
i = 0,1, n .
这类问题称为插值问题。 称为被插值函数 P 被插值函数, 这类问题称为插值问题。 f ( x) 称为被插值函数, n ( x) 称 插值问题 插值函数, 称为插值节点 为插值函数, x0 , x1 xn 称为插值节点
六、 分段插值
所谓分段插值,就是将被插值函数逐段多项式化。 所谓分段插值,就是将被插值函数逐段多项式化。在每 个 [ xi , xi +1 ] 子段上构造插值多项式,然后把它们装配在一, 子段上构造插值多项式,然后把它们装配在一, 作为整个区间 [ a, b ] 上的插值函数,即称为分段多项式。如果 上的插值函数,即称为分段多项式。 次式, 函数 Sk ( x ) 在每个子段上都是 k 次式,则称为 一般(低次: 一般(低次:k=1,2,3) ) 次式。 k 次式。
f [ x0 , x1 ] = 5, f [ x0 , x1, x2 , x3 ] = 1,
N n ( x) = 0 5( x 1) + 2( x 1)( x 2)
+ ( x 1)( x 2)( x 3)
= x3 4 x + 3
五、 Hermite插值多项式 插值多项式
给定的是节点上的函数值和导数值 问题: 问题:已知
∑
i=0
y i li ( x )
( x x0 ) ( x xi 1 )( x xi +1 ) ( x xn ) , i = 0,1, n ( xi x0 ) ( xi xi 1 )( xi xi +1 ) ( xi xn )
三次样条插值
三次样条插值
三次样条插值是插值运算的一种,它具有计算精度高、收敛性好以及曲线拟合准确等特点,是插值运算中最常用的插值方法之
三次样条插值是以曲线为基本元素,把离散点数据连接成一个曲线,并能够在曲线上求出任意点的函数值。
它通过拟合所有离散数据点,来求出一个连续曲线,从而解决了插值法的局限性。
三次样条插值的基本原理是:在离散点的两端,曲线的曲率是零,由此可以计算出曲线的系数,从而得到曲线的表达式,这样就可以得到曲线上任意点的函数值。
三次样条插值的优点在于计算精度高、收敛性好,可以很好地拟合离散数据,并且经过插值后得到的曲线更加平滑,其结果更加可靠。
由于它的优点,三次样条插值得到了广泛的应用,如在统计分析中,用于拟合离散数据;在机械工程中,用于优化加工轨迹;在号处理中,用于滤波等。
总之,三次样条插值是插值运算的一种,它的准确性高,拟合性好,广泛应用于各种领域,是科学研究中的一种重要方法。
三次样条插值cubicsplineinterpolation
三次样条插值cubicsplineinterpolation什么是三次样条插值 插值(interpolation)是在已知部分数据节点(knots)的情况下,求解经过这些已知点的曲线,然后根据得到的曲线进⾏未知位置点函数值预测的⽅法(未知点在上述已知点⾃变量范围内)。
样条(spline)是软尺(elastic ruler)的术语说法,在技术制图中,使⽤软尺连接两个相邻数据点,以达到连接曲线光滑的效果。
样条插值是⼀种分段多项式(piecewise polynomial)插值法。
数学上,曲线光滑需要在曲线上处处⼀阶导连续,因此,在节点处需要满⾜⼀阶导数相等。
另外,为了使得曲线的曲率最⼩,要求曲线⼆阶导连续【1】,在节点处需要⼆阶导相等。
三次及以上多项式可以满⾜节点处光滑和曲率最⼩要求,但是次数⾼的曲线容易震荡,因此,就选⽤三次多项式即可。
数学表述 假设有n个已知节点: 函数关系记为:。
在区间中插值多项式曲线:注意,这⾥头曲线为,尾曲线为。
插值在节点处满⾜条件: (1)曲线经过节点: (2)曲线⼀阶导连续(光滑): (3)曲线⼆阶导连续(曲率最⼩): 边界条件:对两端节点的约束。
(B1)⾃然(natural (or free))边界条件 (B2)固定(clamped)边界条件 固定⼀阶导数: , 固定⼆阶导数: , (B3)⾮节点边界(not-a-knot ) 要求在第⼆个节点和倒数第⼆个节点,曲线的三阶导也连续:三次多样式函数的计算 样条函数采⽤n-1个三次多项式,每个三次多项式有4个参数,⼀共是4n-4个参数,因此需要4n-4个⽅程。
条件(1)n-1个曲线每个两端经过节点,提供2(n-1)=2n-2个⽅程; 条件(2)n-1个曲线相邻⼀阶导连续,提供n-2个⽅程; 条件(3)n-1个曲线相邻⼆阶导连续,提供n-2个⽅程; 以上⼀共是4n-6个⽅程,还需要2个⽅程,这两个⽅程由边界条件提供,条件(B1), (B2), (B3)每个均提供2个⽅程,这样就凑够了4n-4个⽅程。
三次样条插值
三次样条插值0 引⾔三次样条插值以构造简单,使⽤⽅便,拟合准确,具有“保凸”的重要性质等特点成为了常⽤的插值⽅法。
⼀般三次样条插值解算过程中通过追赶法求解三弯矩阵,但使⽤计算机求解时会表现出解的精度不⾼的问题,导致其计算结果⽆法应⽤到⼯程实践之中。
因此需要找出⼀种提⾼解精度的⽅法。
1 基本概念三次样条函数的定义:在区间内对于给定的函数值,其中,如果函数满⾜条件:(1)在每个⼦区间,上都是不⾼于三次的多项式;(2)、、在上都连续;(3),。
则称为函数关于节点的三次样条函数。
想要求解三次样条插值函数,只需在每个⼦区间上确定⼀个三次多项式共有4个系数,确定它们需要 4n 个条件,因此要完全确定共需 4n 个条件。
由所满⾜的条件(1)、(2)、(3),可确定个条件,仍然缺少两个条件。
这两个条件通常由实际问题对三次样条插值函数在端点的状态要求给出,也称之为边界条件,常见的边界条件有:1)夹持边界条件(Clamped Spline):给定两端点的⼀阶导数值,即,;2)⾃然边界条件(Natural Spline):使两端点的⼆阶导数值为零,即;3)⾮扭结边界条件(Not-A-Knot Spline):强制第⼀个插值点的三阶导数值等于第⼆个点的三阶导数值,最后第⼀个点的三阶导数值等于最后第⼆个点的三阶导数值,即,。
2 计算⽅法设三次样条函数,(0),,,由三次样条函数定义(1)(2)(3)可得:,(1)如下构造式(1)矩阵:(2)由式(1)可知:,,,,(3)1)在夹持边界条件时,,,,;,,,;2)在⾃然边界条件时,,,,;,,,;3)在⾮扭结边界条件时,,,,;,,,;由n个未知数的⾮齐次⽅程组有惟⼀解的充分必要条件是,可知矩阵⽅程(2)在以上三种情况下都有惟⼀解。
对矩阵⽅程(2)采⽤⾼斯列主元消去法即可求解得出。
最后,代⼊式(0)可以得出:,,,,3 应⽤算例有点集,在⾮扭结边界条件下进⾏插值。
同时使⽤Matlab R2010a和⽂章所述⽅法进⾏插值计算,对⽐计算结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
yi1 hi
yi
hi 6
Mi1 Mi
(3.2)
Cubic Spline
由 S(x) 在内结点处一阶导数连续,即
Si( xi 0) Si1( xi 0), i 1, 2,L , n 1
可得关于参数 M j 的方程组,即三弯矩方程的形式为
其中
i Mi1 2Mi i Mi1 i , i 1, 2,L , n 1
f
n
mn .
(II类)
(3)周期边界条件
S k ( x0 ) S k ( xn ), k 0,1, 2.
(III 类)
此时,对函数值有周期条件 f ( x0 ) f ( xn ).
Cubic Spline 由boundary conditions 唯一确定。
定理 三次样条插值问题的解存在且唯一。
hi 1 (i 0,1, 2)
i i
i
i
0
1
6
1 12
12
-3
2 12
12
36
31
-78
得方程组 2 1 0 0 M0 6
1 2
0 0
2 12 0
12 2 1
0 12 2
M1 M2 M3
3 36 78
Cubic Spline
解得
M0
28 3
28 M1 3
106 M2 3
② 计算 Mi (追赶法等) ;
③ 找到 x 所在区间 ( 即找到相应的 i ) ;
④ 由该区间上的 S(x) 算出 f(x) 的近似值。
例 由函数表
Cubic Spline
j
0
1
2
3
xj
0
1
1
3
yj
0
2
3
16
求满足边界条件 y(0) 1, y(3) 0的三次样条插值函数。
解:用三弯矩方程(第二种边界条件)计算得
0
0
n1
2
n1
M
n1
n
1
0 0 0 0 n 2 M n n
注意其系数矩阵是按行严格对角占优阵,故它有唯一解。
可用追赶法求解。
➢ 三次样条插值函数的误差估计
Cubic Spline
在实际应用中,如果不需要规定内节点处的一阶导 数值,那么使用三次样条插值函数会得到很好的效果。 三次样条插值函数 S(x) 不仅在内节点处的二阶导数是连 续的,而且 S(x) 逼近 f(x) 具有很好的收敛性,也是数值 稳定的。由于误差估计与收敛性定理的证明比较复杂, 下面只给出误差估计的结论。
注:三次样条与分段 Hermite 插值的根本区别在于S(x)自 身光滑,不需要知道 f 的导数值(除了在2个端点可能需 要);而Hermite插值依赖于f 在所有插值点的导数值。
f(x)
H(x)
S(x)
Cubic Spline
3次样条插值函数S( x是) 否存在唯一? 如何计算?误差估计?
三次样条插值函数是分段三次多项式,在每个小区间
Cubic Spline
S( x0 )
f
0
M0 ,
S( xn )
f
n
Mn.
(I 类)
其特殊情况为
S( x0 ) 0, S( xn ) 0,
(自由边界)
对应的样条函数称为自然样条 /* Natural Spline */.
(2)已知两端的一阶导数值,即
S( x0 ) f0 m0 ,
S( xn )
( xi1 6hi
x)3
Mi1
( x xi )3 6hi
C1 x C2
利用插值条件
S( xi ) yi , S( xi1 ) yi1
Cubic Spline
定出积分常数,可以得到
S(x)
Mi
( xi1 6hi
x)3
Mi1
(x
xi )3 6 hi(3.1)源自yiMi hi2 6
xi1 hi
三次样条插值函数的构造与Matlab实现
[
x
,
i
x上i1]可以写成
S( x) ai x3 bi x2 ci x di , i 0,1,L , n 1,
共有 4n 个待定参数。S(x) 在[a, b]上二阶导数连续,故在内
结点 xi (i 1, 2,L处,应n -满1)足连续性条件
Sk xi 0 Sk ( xi 0), k 0,1, 2,
例: x = -3:3; y = [-1 -1 -1 0 1 1 1]; t = -3:.01:3; plot(x,y,'o',t,[pchip(x,y,t); spline(x,y,t)]) legend('data','pchip','spline',4)
由于Lagrange插值可能不收敛,所以工程 中很少使用。matlab中没有专门的Lagrange插值 函数。可以自己编写一个Lagrange插值函数: function y=lagrange(x0,y0,x)
Newton Ln(x),只是形式不同;渐增节点或节点等距 时方便处理.
Hermite: 给出 yi 及 yi . Spline:分段低次, 自身光滑, f 的导数只在边界给出.
yi = interp1(x,Y,xi,method) :用指定的算法计算插值; ’linear’:线性插值(缺省方式),直接完成计算; ’pchip’:分段三次Hermite插值。对于该方法,命令 interp1 调用函数pchip,用于对向量x 与y 执行分段三次 内插值。该方法保留单调性与数据的外形; ’cubic’:与’pchip’操作相同; ’spline’:三次样条函数插值。对于该方法,命令 interp1 调用函数spline、ppval、mkpp、umkpp。这些命 令生成一系列用于分段多项式操作的函数。命令spline 用它们执行三次样条函数插值;注意它默认使用的是 ‘not-a-knot’边界条件,也就是第一个点的三次导数和 第二点的三次导数一样;最后一个点的三次导数和倒数 第一个点一样。当Y=[df1,y,df2]时,表示第一点和最后 一个点的一阶导数分别为df1,df2。 pp = csape(x,y,conds): 计算在各种边界条件下的三次样条插值。 >> help csape
170 M3 3
将此解代入式 (3.1) 即得
x 11x2 14x 3
3
x 0,1
S
(
x)
1 24x3 91x2 108x 35
x 1, 2
3
1
46x3 329x2 732x 525
x 2, 3
3
HW: 习题 #24
插值法小结
Lagrange Ln(x) : 给出 y0 … yn,选基函数 li(x),其次数为 节点数 –1.
举例: ➢ 汽车、船的外形设计,流体力学等要求流线型(光滑)
➢ 木样条的来源
样条是绘图员用于描绘光滑曲线的由一些易弯曲材料制成的窄 条或棒条.在绘制需要通过某点的光滑曲线时,对它在这些点的位置 上“压铁”,它就被强制通过或接近图表上确定的描绘点.“样条函数” 这个术语意在点出这种函数的图象与机械样条画出的曲线很像.
2
n n
0 0, 0 2M0 n 0, n 2Mn
Cubic Spline
即得关于Mi (i = 0, 1, …, n)的 n+1 元线性方程组
2 0 0 0 0 0 M0 0
1 2 1 0
0
0
M1
1
0
0
2 2
0O
2
O
0 O
0 0
M2 M
2
M
0
由于S(x) 在区间 [xi , xi1] (i 0,1上,L是, n3次1)多项式, 故 S (xi )
在
上是1[ x次i , x多i项1 ] 式, 可表示为
S( x)
Mi
xi1 x hi
Mi1
x xi hi
,
其中 hi = xi+1 - xi . 对S (xi ) 积分两次得
S(x)
Mi
值稳定.
另有三转角法得到样条函数,即设 S (xi) = mi,则易
知[xi, xi+1 ]上的S(x) 就是Hermite函数. 再利用S(x)的 连续性,可导出关于mi 的方程组,加上边界条件即 可解.
Sketch of the Algorithm: Cubic Spline
① 计算 γi , αi , βi ;
Cubic Spline
➢ 三弯矩法 /* method of bending moment */
三次样条插值函数 S(x) 可以有多种表达式,有时用二阶
导数值 S( xi ) Mi (i 表0示,1,时L ,, n使) 用更方便。Mi 在力学上解释 为细梁在 xi 处的弯矩,并且得到的弯矩与相邻两个弯矩有关, 故称用 Mi 表示 S(x) 的算法称为三弯矩法。
其中
C0
5, 384
C 1,
1 24
C
2
1 8
.
Cubic Spline
注:提高精度只须增加节点, 而无须提高样条阶数。 在实际应用中,不仅常用S(x) [式(3.1)]计算 f(x) 的
近似值,而且常用 S (x) [式(3.2)]近似计算 f (x) .
稳定性:只要方程组系数矩阵为SDD阵,保证数
定理5.5
设函数
f ( x) C 4[a, b],
记
M4
max a xb
f (4)( x) ,
h
max (
0 i n1
xi 1