三次样条插值

合集下载

4.3三次样条插值

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三次样条插值

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

三次样条插值ppt
f [x, x0, xn1] f [x0, x1, xn ] f [x, x0, x1, xn ](x xn )
把以上各式由后向前代入,可得
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 三次样条插值

2.3  三次样条插值
, (a) 或(b)或(c)) 则 f ( x ) 于 [a , b] 存在 (2)给定边界条件 ( )
( 唯一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课件

样条函数及三次样条插值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
(
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
相关文档
最新文档