样条插值
几种常用的插值方法
几种常用的插值方法常用的插值方法包括线性插值、多项式插值、样条插值和径向基函数插值等,下面将依次介绍这些方法。
1.线性插值:线性插值是最简单的插值方法之一,它假设函数在两个已知点之间的变化是线性的。
对于给定的两个点(x0,y0)和(x1,y1),线性插值公式为:y=y0+(x-x0)*(y1-y0)/(x1-x0)其中,y是需要插值的点对应的函数值,x是插值点的横坐标。
2.多项式插值:多项式插值方法通过在给定的一组点上构建一个多项式函数来进行插值。
常用的多项式插值方法包括拉格朗日插值和牛顿插值。
- 拉格朗日插值通过构建一个n次多项式来插值n+1个给定的点。
具体来说,对于给定的n+1个点(x0, y0), (x1, y1), ..., (xn, yn),拉格朗日插值公式为:y = Σ(yk * lk(x))其中,lk(x)是拉格朗日基函数,计算公式为:lk(x) = Π((x - xj) / (xi - xj)),(j ≠ i)- 牛顿插值通过构建一个n次插值多项式来插值n+1个给定的点。
具体来说,对于给定的n+1个点(x0, y0), (x1, y1), ..., (xn, yn),牛顿插值公式为:y = Σ(Π(x - xj) / Π(xi - xj) * finDiff(yj))其中,finDiff(yj)是每个节点的差商,计算公式为:finDiff(yj) = (ΣΠ(xj - xi) * yj) / ΣΠ(xi - xj),(i ≠ j) 3.样条插值:样条插值方法通过使用分段函数来逼近给定的一组点。
常用的样条插值方法有线性样条插值和三次样条插值。
-线性样条插值在每两个相邻点之间使用线性函数进行插值,保证了插值函数的一阶导数是连续的。
-三次样条插值在每两个相邻点之间使用三次多项式进行插值,保证了插值函数的一阶和二阶导数都是连续的。
三次样条插值具有良好的平滑性和精度。
4.径向基函数插值:径向基函数插值是一种基于局部函数的插值方法,它假设函数值仅取决于与插值点的距离。
样条插值方法-空间分析-空间统计
空间统计方法-样条插值1. 样条插值拉格朗日插值和牛顿插值的结果中,插值函数的为n-1次多项式函数(n 是已知点的个数)。
当样本点很多时,多项式的次数会很高。
这会导致插值结果对已知点的取值非常敏感。
样条插值可以解决上述问题。
样条插值的基础是样条函数。
样条函数是一种特殊的函数,由多项式分段定义, 通常是指分段定义的多项式参数曲线。
在插值问题中,样条插值通常比多项式插值好用。
用低阶的样条插值能产生和高阶的多项式插值类似的效果,分段插值具有良好的稳定性和收敛性,可以避免被称为龙格现象的数值不稳定的出现。
并且低阶的样条插值还具有“保凸”的重要性质。
样条插值一般包括线性样条插值、二次样条插值和三次样条插值,其中三次样条插值最为实用,本节主要介绍三次样条插值。
样条函数插值采用两种不同的计算方法:规则样条(Regularized Spline)和张力样条(Tension Spline)。
设在区间[a,b]上取n+1个节点01a x x x n b =<<<=L ,函数f(x)y =在各个节点处的函数值为f(x )(i 0,1,,1)i i y n ==-L ,若S(x)满足S(x )y ,(i 0,1,,1)i i n ==-L ;S (x )在区间[a ,b ]上具有连续的二阶导数;在每个小区间1[x ,x ](i 0,1,,1)i i n +=-L 上S(x)是三次多项式。
则称S(x)是函数y f(x)=在区间[a,b]上的三次样条插值函数。
从定义可知,要求出S(x)在每个小区间1[x ,x ](i 0,1,,1)i i n +=-L 上要确定4个待定系数,共有n 个小区间,根据上述条件(2)有S(x 0)S(x 0)i i -=+S (x 0)S (x 0),i 1,2,,1i i n ''-=+=-LS (x 0)S (x 0)i i ''''-=+共有3n-3个条件,再加上条件(1),共有4n-2个条件,因此还需2个条件才能确定S(x),通常在区间[a,b]的端点0a x ,b x n ==上各加一个条件(称为边界条件),可根据实际问题的要求给定。
样条插值
M j 1
j 1
, j 1, , n 1,
jM
其中
j
2M
jM
d j, ,d
j
j 1, , n 1, 6 f [ x j 1 , x j , x j 1 ].
h j 1 h j 1 h j
, j
hj h j 1 h j
解:这里 n 2,区间 [ 1,1]分为 [ 1,], ,]两个子区间 0 [0 1 S (x) a x 3 b x 2 c x d , x [ 1, 0 ] 0 0 0 0 0 并设: S ( x ) 3 2 S 1 ( x ) a 1 x b1 x c 1 x d 1 , x [ 0 ,1] S 0 ( 1 ) 1, S 0 ( 0 ) 0 : S 1 ( 0 ) 0 , S 1 (1) 1 a 0 b0 c 0 1 d 0 0 可得: d1 0 a b c 1 1 1 1
hj 6
M j
hj 3
M j 1
y j 1 y j hj
,
h j 1 6
M j 1 M j
j
h j 1 3 hj 6
M j
y j y j 1 h j 1 y j y j 1 h j 1
. y j 1 y j hj
h j 1 h j 3
j 1
S ( xi 0) S ( xi 0) S ( x i 0 ) S ( x i 0 ) S ( x 0 ) S ( x 0 ) i i
i 1, 2 , , n 1
共有3(n1)个条件。因此,要确定一个三次样条函数,还需要另 增加4n3(n1) = n+3 个条件。 利用样条函数进行插值,即取插值函数为样条函数,称为样条 插值。例如 分段线性插值是一次样条插值。 已知函数y = f (x)在区间[a, b]上的n +1个节点a = x0<x1<… < xn = b上的值yj=f (xj)(j=0,1,…,n),求插值函数S (x)使其满足:
数值计算_样条插值方法
多项式插值方法—样条插值-5-4-3-2-1012345-0.500.511.52f (x)P 5(x)P 10(x)当插值节点过多→龙格现象插值多项式虽然满足插值条件,但是在节点之外,靠近插值区间端点处与实际函数偏离较大,出现了震荡现象如何解决龙格现象?☐根据数据特点选用三角函数或有理函数☐由于多项式的优良性能,更偏爱多项式☐使用分段函数数学模型,在较小的区间段上使用低次多项式插值要点与学习目标☐掌握样条插值的概念和数学模型☐了解样条插值函数系数的确定方法样条插值☐改善分段线性插值和二次插值的精度☐保持曲线的光滑性☐样条的概念三次样条插值函数对于给定的函数表 x)(x f yxx 1xny 1yn思考:根据该定义,关于四个节点的三次样条插值函数的数学模型是什么?需要多少个约束方程才能确定该样条?分段样条插值的数学模型231101112130123220212223122333031323323()=,[,]()()=,[,]()=,[,]S x a a x a x a x x x x S x S x a a x a x a x x x x S x a a x a x a x x x x ⎧+++∈⎪=+++∈⎨⎪+++∈⎩以四个节点为例,四个节点的样条插值函数思考:该函数能否由节点数据完全确定?231101112130123220212223122333031323323()=,[,]()()=,[,]()=,[,]S x a a x a x a x x x x S x S x a a x a x a x x x x S x a a x a x a x x x x ⎧+++∈⎪=+++∈⎨⎪+++∈⎩(0)(0)(1,2,...,1)'(0)'(0)(1,2, (1)''(0)''(0)(1,2, (1)()(0,1,...,)i i i i i ii i S x S x i n S x S x i n S x S x i n S x y i n -=+=-⎧⎪-=+=-⎪⎨-=+=-⎪⎪==⎩样条插值问题的边界条件归根到底,样条插值问题是线性方程组求解的问题。
样条插值法
样条插值法
样条插值法是一种用于拟合函数和曲线的数学方法。
它通过在已知点之间插入样条曲线,以模拟给定函数或曲线的形状,从而获得更精确的结果。
样条插值法的优点是曲线在所有拟合点处都是光滑的,而不需要太多的样条曲线段,这使得它更加灵活,可以用于复杂的函数和曲线。
样条插值法在计算机图形学中有广泛的应用,可以用来拟合点,构建复杂的三维曲面,以及提供非常精确的曲线拟合。
此外,它还可以用于数据拟合,图像处理,信号处理,机器学习等。
样条插值法是一种灵活,有效,高效的数学方法,可以用于多种应用场景,从而提供更准确,更精确的结果。
第2章-插值法(Hermite插值,样条插值)
2.5 埃尔米特插值法
Newton插值和Lagrange插值虽然构造比较简单,但都存 在插值曲线在节点处有尖点,不光滑,插值多项式在节 点处不可导等缺点
问题的提出: 不少实际问题不但要求在节点上函数值相等,而且还要 求它的导数值也相等(即要求在节点上具有一阶光滑度), 甚至要求高阶导数也相等,满足这种要求的插值多项式就是 埃尔米特(Hermite)插值多项式。下面只讨论函数值与导数 值个数相等的情况。
由 j ( x j ) 1 ,可得
Cj
1 ( x j x0 ) 2 ( x j x1 ) 2 ( x j x j 1 ) 2 ( x j x j 1 ) 2 ( x j xn ) 2
故
j ( x) ( x x j )
( x x0 ) 2 ( x x1 ) 2 ( x x j 1 ) 2 ( x x j 1 ) 2 ( x xn ) 2 ( x j x0 ) 2 ( x j x1 ) 2 ( x j x j 1 ) 2 ( x j x j 1 ) 2 ( x j xn ) 2
( x x j )l j 2 ( x)
2016/8/14 6
(ii)由条件(1)可知,x0 , x1,, x j 1, x j 1,, xn都是 j ( x)的二重根,令
j ( x) C j (ax b)( x x0 ) 2 ( x x1 ) 2 ( x x j 1 ) 2 ( x x j 1 ) 2 ( x xn ) 2
17
即
x x1 x x0 2 0 ( x) (1 2l1 ( x)) l0 ( x) 1 2 x x x0 x1 1 0
第三章(二) 埃尔米特-样条插值法
2
x x1 x x 0 h1 ( x ) 1 2 x x . x1 x 0 1 0
2
设
x x1 g 0 (x) a(x x0 ) , x 0 x1
2
∵g0(x0)=g0(x1)=0, g'0(x1)=0
据用得越多越好,解决这一矛盾的办法就是改用分段低次插值。
所谓分段低次插值就是用分段多项式来代替单个高阶多项式
作插值,即先把整个插值区间分成若干个小区间,然后在每个子 区间上分别用低次插值多项式(如线性插值或抛物线插值等), 然后再将每个子区间上的插值函数拼接在一起,作为整个插值区 间上的插值函数。
• 分段线性插值
2
2
x x1 x x 0 h1 ( x ) 1 2 . x1 x 0 x1 x 0
2
2
x x1 x x0 g 0 (x) (x x0 ) , ( x ) ( x x1 ) g1 . x 0 x1 x1 x 0
, [ 1,1]. 0 ( x ) ? x L1
将[−1,1]10等分,步长 h = 2/10 = 0.2, 取节点 xi = −1 + 0.2i, i =
0,1,2,…,10。以 (xi, f(xi))为插值点,构造L10(x):
L1 0 ( x )
) f ( x i ) li ( x )
先构造 h0(x), 设
由h0(x0) = 1,
x x1 h0 ( x ) (a bx ) . x 0 x1
2
∵h0(x1)=h'0(x1)=0
样条插值
后得到P(t)上的点 Pj[ r 1] (t )
清华大学
计算机图形学
P
[1] j k 3
3] Pj[k 4 2] Pj[k 3
Pj[ k 1]
Pj[ 2 ] Pj[1]
Pj k 2
1] Pj[k 2
清华大学
计算机图形学
3.3.3 de Boor 算法
• 欲计算B样条曲线上对应一点P(t),可以利用B样条曲 线方程,但是采用de Boor 算法,计算更加快捷。
– de Boor 算法的导出
P(t ) Pi N i ,k (t )
i 0 j n i j k 1
PN
i
j
i ,k
P(t ) Pj N (t )
1 j 0 1 j ,k
清华大学 计算机图形学
n 1
• Boehm给出了这些未知新顶点的计算公式
Pj1 Pj , 1 Pj (1 j ) Pj 1 j Pj , P1 P , j 1 j
j
t tj t j k 1 t j
(t )
t ti ti k t Pi N i ,k 1 (t ) N i 1,k 1 (t ) ti k ti 1 i j k 1 ti k 1 ti t ti ti k 1 t Pi Pi 1 N i ,k 1 (t ) ti k 1 ti i j k 1 ti k 1 ti
Riesenfield, Gordan, ...
清华大学
计算机图形学
• 如何理解B-样条?
样条插值.ppt
+mk 1hk 1 6
dk1
其中dk
yk1 hk
yk
而一阶导函数在xk点连续,即 sk ( xk ) sk1( xk )从而得
hk1mk1 2(hk1 hk )mk hk mk1 6(dk dk1 ) uk , k 1, 2,,n 1
h0m0 2(h0 h1 )m1 h1m2 u1
x xk
3
yk hk
mk hk 6
xk1 x
yk1 hk
mk 1 hk 6
x xk
表达式化为只含{mk}形式,再将xk点代入方可求出未 知{mk},求导
sk
(
x
)
mk 2hk
xk1 x
2 mk1 2hk
x xk
2
yk hk
mk hk 6
yk 1 hk
mk 1hk 6
有用。
hk1mk1 2(hk1 hk )mk hk mk1 uk
v1 h1
h1
v2
h2
m1 u1
m2
u2
OO O
M M
hn3
vn2
hn
2
mn
2
un2
hn2 vn1 mn1 un1
16
24
已知(0,0),(1,0.5),(2,2.0),(3,1.5), 求三
sk( x)
mk hk
xk1 x
mk1 hk
x xk
xk x xk1, k 0,1,L , n 1
将上次积分两次,引入两个积分常数,得如下形式
sk
(x)
mk 6hk
xk1 x
3 mk1 6hk
x xk 3 pk
xk1 x qk
样条插值方法
样条插值方法
样条插值方法是一种通过拟合数据点之间的曲线来推断数据点之间的数值的方法。
它基于一组已知数据点,利用滑动平滑的曲线来建立模型,并通过这些曲线来预测未知数据点的数值。
具体来说,样条插值方法可以通过以下步骤进行:
1. 确定插值函数的类型:常见的插值函数类型有线性插值、二次插值和三次样条插值等。
根据问题的特点选择适合的插值函数类型。
2. 确定插值节点:选择一组已知数据点来进行插值。
这些数据点可以是问题中已知的实际观测值,或通过其他方法得到的估计值。
3. 构建插值模型:利用已知数据点和插值函数类型,建立插值模型。
具体的建模方法根据插值函数类型而定,可以是线性方程组的求解、Lagrange插值、Newton插值或三次样条插值等。
4. 拟合曲线:通过插值模型,得到一组曲线函数,将这些函数与已知数据点进行拟合。
通过拟合数据点,可以调整曲线的参数,使它们尽可能地接近已知数据点。
5. 预测未知数据点的数值:利用拟合的曲线函数,对未知数据点进行数值推断。
通过将未知数据点代入插值模型中的曲线函数,可以得到对应的数值。
需要注意的是,样条插值方法在一些情况下可能会出现过度拟合的问题,即拟合曲线过于复杂,对已知数据点过度敏感。
为了解决这个问题,可以采用不同的插值函数类型,或者通过降低插值函数的阶数来减小拟合误差。
常见的插值方法及其原理
常见的插值方法及其原理插值是指在已知数据点的情况下,根据其中一种规则或算法,在这些数据点之间进行预测或估计。
常见的插值方法有:拉格朗日插值、牛顿插值、分段线性插值、样条插值和Kriging插值等。
1.拉格朗日插值方法:拉格朗日插值是一种基于多项式的插值方法。
它假设已知数据点的函数曲线可以由一个多项式来表示。
拉格朗日插值的原理是,通过确定多项式的系数,使多项式在已知数据点上满足给定的函数值。
具体地说,对于给定的一组已知数据点和对应的函数值,拉格朗日插值方法通过构造一个多项式,使得该多项式在每个数据点上的函数值等于给定的函数值。
然后,通过该多项式在插值点上的函数值来估计未知数据点的函数值。
2.牛顿插值方法:牛顿插值也是一种基于多项式的插值方法,其原理类似于拉格朗日插值。
它也是通过确定多项式的系数,使多项式在已知数据点上满足给定的函数值。
不同的是,牛顿插值使用了差商的概念,将插值多项式表示为一个累次求和的形式。
具体地说,对于给定的一组已知数据点和对应的函数值,牛顿插值方法通过差商的计算,得到一个多项式表达式。
然后,通过该多项式在插值点上的函数值来估计未知数据点的函数值。
3.分段线性插值方法:分段线性插值是一种简单而常用的插值方法。
它假设在两个相邻已知数据点之间的曲线是一条直线。
分段线性插值的原理是,通过连接相邻数据点之间的线段,构造一个连续的曲线。
具体地说,对于给定的一组已知数据点和对应的函数值,分段线性插值方法将曲线划分为若干小段,每一小段都是一条直线。
然后,在每个数据点之间的区域上,通过线性插值来估计未知数据点的函数值。
4.样条插值方法:样条插值是一种基于插值条件和光滑条件的插值方法。
它假设在两个相邻已知数据点之间的曲线是一个低次数的多项式。
样条插值的原理是,通过确定各个数据点之间的插值多项式系数,使得整个曲线在插值点上的各阶导数连续。
具体地说,对于给定的一组已知数据点和对应的函数值,样条插值方法将曲线划分为若干小段,每一小段都是一个低次数的多项式。
数值分析(15)样条插值
数值分析
同理,在[ xi1, xi ]也可以得到
S
" i
1
(
x
)
6x
2 xi1 h2
i 1
4xi
mi 1
6x
4 xi1 h2
i 1
2xi
mi
6( xi1 xi 2
在内节点x(i ih3i
1
1,
2,
x
)
,
( yi
n-
yi1 )
1)上,由S
" i
(
xi
)
S
" i
1
(
xi
)
1 hi 1
mi 1
化简后得到三弯矩方程
hi1Mi1 (2 hi1+hi)Mi hi Mi1 6( f xi , xi1 f xi1 , xi ) gi
(i 1, 2, , n 1)
h0 2(h0 h1 )
h1
h1
2(h1 h2 ) h2
M0 g1
M1
g2
hn2
2(hn2 hn1 )
是三次多项式; 则称S( x)为三次样条函数。x1, ..., xn1称为内节点, x0 , xn称为外节点.
数值分析
数值分析
插值条件分析
由(3)S( x)在每个[ xi , xi1]上表达式不同,故应分段构造:
S0( x)
S
(
x)
S1( x)
Sn1( x)
x [ x0 , x1]; x [ x1, x2 ];
数值分析
第五节 样条插值
样条是绘图员用于描绘光滑曲线的一种机 械器件,它是一些易弯曲材料制成的窄条或棒条. 在绘制需要通过某点的光滑曲线时,对它在这些 点的位置上“压铁”,它就被强制通过或接近图 表上确定的描绘点.“样条函数”这个术语意在 点出这种函数的图象与机械样条画出的曲线很 象.
数值分析常用的插值方法
数值分析常用的插值方法数值分析中常用的插值方法有线性插值、拉格朗日插值、分段线性插值、Newton插值、Hermite插值、样条插值等。
下面将对这些插值方法进行详细介绍。
一、线性插值(linear interpolation)线性插值是最简单的插值方法之一、假设已知函数在两个点上的函数值,通过这两个点之间的直线来估计中间点的函数值。
线性插值公式为:f(x)=f(x0)+(x-x0)*(f(x1)-f(x0))/(x1-x0)其中,f(x)表示要求的插值点的函数值,f(x0)和f(x1)是已知的两个点上的函数值,x0和x1是已知的两个点的横坐标。
二、拉格朗日插值(Lagrange interpolation)拉格朗日插值是一种基于多项式的插值方法。
它通过多个已知点的函数值构造一个多项式,并利用这个多项式来估计其他点的函数值。
拉格朗日插值多项式的一般形式为:f(x) = Σ[f(xi) * Li(x)] (i=0,1,2,...,n)其中,f(x)表示要求的插值点的函数值,f(xi)是已知的多个点的函数值,Li(x)是拉格朗日基函数。
拉格朗日基函数的表达式为:Li(x) = Π[(x-xj)/(xi-xj)] (i≠j,i,j=0,1,2,...,n)三、分段线性插值(piecewise linear interpolation)分段线性插值是一种逐段线性近似函数的方法。
通过将整个插值区间分成多个小段,在每个小段上使用线性插值来估计函数的值。
分段线性插值的过程分为两步:首先确定要插值的点所在的小段,在小段上进行线性插值来估计函数值。
四、Newton插值(Newton interpolation)Newton插值也是一种基于多项式的插值方法。
利用差商的概念来构造插值多项式。
Newton插值多项式的一般形式为:f(x)=f(x0)+(x-x0)*f[x0,x1]+(x-x0)*(x-x1)*f[x0,x1,x2]+...其中,f(x)表示要求的插值点的函数值,f(x0)是已知的一个点的函数值,f[xi,xi+1,...,xi+k]是k阶差商。
样条插值
样条插值在数值分析这个数学分支中,样条插值是使用一种名为样条的特殊分段多项式进行插值的形式。
由于样条插值可以使用低阶多项式样条实现较小的插值误差,这样就避免了使用高阶多项式所出现的龙格现象,所以样条插值得到了流行。
目录• 1 定义• 2 样条插值• 3 线性样条插值• 4 二次样条插值• 5 三次样条插值o 5.1 三次样条的最小性o 5.2 使用自然三次样条的插值• 6 示例o 6.1 线性样条插值o 6.2 二次样条插值•7 参见定义假设有n+1 个不同的节点x i以及n+1 个节点值y i,我们要找到一个n阶样条函数其中每个S i(x) 都是一个k阶的多项式。
样条插值使用多项式插值,对给定数据集进行插值的n阶多项式就被给定数据点所唯一地定义出来。
但是,对同样的数据进行插值的n阶样条并不是唯一的,为了构建一个唯一的样条插值式它还必须满足另外n-1 个自由度。
线性样条插值线性样条插值是最简单的样条插值。
数据点使用直线进行连接,结果样条是一个多边形。
从代数的角度来看,每个S i都是一个如下的线性函数。
样条在每个数据点都必须连续,即我们很容易得到所以以上论述成立。
二次样条插值二次样条插值可以构建为通过选择z0,然后用递推关系就可以得到系数:三次样条插值对于n+1 个给定点的数据集 {x i} ,我们可以用n段三次多项式在数据点之间构建一个三次样条。
如果表示对函数f进行插值的样条函数,那么需要:•插值特性,S(x i)=f(x i)•样条相互连接,S i-1(x i) = S i(x i), i=1,...,n-1•两次连续可导,S'i-1(x i) = S'i(x i) 以及S''i-1(x i) = S''i(x i), i=1,...,n-1.由于每个三次多项式需要四个条件才能确定曲线形状,所以对于组成S的n个三次多项式来说,这就意味着需要 4n个条件才能确定这些多项式。
样条插值方法-空间分析-空间统计
空间统计方法-样条插值1. 样条插值拉格朗日插值和牛顿插值的结果中,插值函数的为n-1次多项式函数(n 是已知点的个数)。
当样本点很多时,多项式的次数会很高。
这会导致插值结果对已知点的取值非常敏感。
样条插值可以解决上述问题。
样条插值的基础是样条函数。
样条函数是一种特殊的函数,由多项式分段定义, 通常是指分段定义的多项式参数曲线。
在插值问题中,样条插值通常比多项式插值好用。
用低阶的样条插值能产生和高阶的多项式插值类似的效果,分段插值具有良好的稳定性和收敛性,可以避免被称为龙格现象的数值不稳定的出现。
并且低阶的样条插值还具有“保凸”的重要性质。
样条插值一般包括线性样条插值、二次样条插值和三次样条插值,其中三次样条插值最为实用,本节主要介绍三次样条插值。
样条函数插值采用两种不同的计算方法:规则样条(Regularized Spline)和张力样条(Tension Spline)。
设在区间[a,b]上取n+1个节点01a x x x n b =<<<=L ,函数f(x)y =在各个节点处的函数值为f(x )(i 0,1,,1)i i y n ==-L ,若S(x)满足S(x )y ,(i 0,1,,1)i i n ==-L ;S (x )在区间[a ,b ]上具有连续的二阶导数;在每个小区间1[x ,x ](i 0,1,,1)i i n +=-L 上S(x)是三次多项式。
则称S(x)是函数y f(x)=在区间[a,b]上的三次样条插值函数。
从定义可知,要求出S(x)在每个小区间1[x ,x ](i 0,1,,1)i i n +=-L 上要确定4个待定系数,共有n 个小区间,根据上述条件(2)有S(x 0)S(x 0)i i -=+S (x 0)S (x 0),i 1,2,,1i i n ''-=+=-LS (x 0)S (x 0)i i ''''-=+共有3n-3个条件,再加上条件(1),共有4n-2个条件,因此还需2个条件才能确定S(x),通常在区间[a,b]的端点0a x ,b x n ==上各加一个条件(称为边界条件),可根据实际问题的要求给定。
4.3 样条函数插值
相同数据3次样条插值与 相同数据3次样条插值与Lagrangr插值效果比较 插值效果比较
Cubic Spline Interpolation
Lagrangr Interpolation
如果采用分段多项式插值, 如果采用分段多项式插值, 则由于插值基函数只 是局部活跃(它们的支集是局部紧致的), 结点上的误 局部活跃(它们的支集是局部紧致的), 结点上的误 支集是局部紧致的 差可以被控制在小的范围内, 因而也带来了内在的高 差可以被控制在小的范围内, 因而也带来了内在的高 度稳定性. 这是分段插值的一大优势! 度稳定性. 这是分段插值的一大优势! 许多实际问题希望插值函数具有较高阶的整体光 许多实际问题希望插值函数具有较高阶的整体光 滑性. 此时, 高次Hermite插值或分段高次 插值或 滑性. 此时, 高次 插值 分段高次Hermite插 插 可以利用(注意:分段高次Lagrange插值和 插值和Newton插 值可以利用(注意:分段高次 插值和 插 值等是做不到的, 值等是做不到的,在插值结点上它们只能保证插值函 数连续). 数连续). 注:函数 的支集 Supp 定义为 f ( x) f
a
a
4.8.2 一般 k 次样条
定义4.8.1( 次样条函数) 定义4ቤተ መጻሕፍቲ ባይዱ8.1( k 次样条函数)设 π 是区间 或分割, 或分割,即
,b] [ a上的一个分划
π : a = x0 < x1 < L < xn 1 < xn = b
称 S (为定义在区间 上关于分划 的一个 次样条 k x) [a , b ] π 函数, 函数,如果 :S 节点 xi处 S 的 k 阶导数 , xi ) (1) 在每一区间 [ xi 1上是次数 间断,因而转折灵活 的多项式. 不超过 的多项式. k (2)在区间 (2)在区间 [ a上是 次连续可微的. , b ] 次连续可微的. k 1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作业
• 教材第146页习题:20、22、25、26
数值分析
数值分析
三次样条插值
数值分析
余下的n+3个条件的确定:
(1)n+1个插值节点条件,即s3(xk)=f(xk)=yk; (2)两个边界条件!
数值分析
三次样条插值的边界
数值分析
构造三次样条插值函数S ( x )的基本方法
(1)三弯矩插值法
(2)三转角方 (3)基于B样条的三次样条插值函数
数值分析
f (1.25) ≈ S (1.25) = S1 (1.25) = 1.0336,Q 1.25 ∈[1.2,1.4].
数值分析
数值分析
B(皮埃尔·贝塞尔(Pierre Bézier))样条
数值分析
样条函数插值
定义:记
k ⎧ x , x≥0 k x+ = ⎨ ⎩ 0, x < 0
k x+ (k = 1, 2,L ) 称为 k 次半截单项式,并规定
• • • • • 一元函数插值(一元Lagrange插值) 二元函数插值(二元Lagrange插值) Hermite插值 分段低次插值 样条插值
数值分析
样条插值
• 分段低次插值,收敛性好,但光滑性不够理想。为了得到光 滑度更高的插值函数,引入样条插值函数。 • “样条”名词来源于工程中船体和汽车等的外形设计:给出 外形曲线上的一组离散点(样点),(xi , yi),i = 0, 1, 2, …, n, 将有弹性的细长木条或钢条(样条)在样点上固定,使其在 其它地方自由弯曲,这种样条所表示的曲线,称为样条曲线(函 数). • 这样,整个曲线不仅通过样点,并且在整个区间上其一阶 导数,二阶导数是连续的。
数值分析
13
其解 M 0 = 代入,得
28 38 106 170 , M1 = − , M 3 = ,M4 = 3 3 3 3
38 ( x − 0) 3 28 ( x − 1) 3 S0 ( x) = − × − × 3 6 3 6 38 28 )( x − 0) − (0 − )( x − 1) + (2x 2 + 14 x + 3) 3 1 S1 ( x ) = (24 x 3 − 91x 2 + 108 x − 35) 3 1 S 2 ( x ) = ( − 46 x 3 + 329 x 2 − 732 x + 525) 3
Q M 0 = M3 = 0, 0.6667 ⎞ ⎛ M1 ⎞ ⎛ 5 ⎞ ⎧M1 = 13.125, ⎛ 2 =⎜ , solve ⎨ ⎜ 0.6667 ⎟ ⎟ ⎜ ⎟ 2 ⎠ ⎝ M 2 ⎠ ⎝ −55⎠ ⎝ ⎩M 2 = −31.875.
因此,分段的三次样条插值函数为
⎧ S 0 ( x) = 21.875 x 3 − 72.1875 x 2 + 83.1875 x − 32.875, x ∈ [1.1,1.2] ⎪ S ( x) = ⎨ S1 ( x) = −37.5 x 3 + 141.625 x 2 − 173.3125 x + 69.725, x ∈ [1.2,1.4] ⎪ S ( x) = 53.125 x 3 − 239.0625 x 2 + 359.5625 x − 178.95, x ∈ [1.4,1.5] ⎩ 2
⎧ 1, x > 0 ⎪ 0 x+ = ⎨1 / 2, x = 0 ⎪ 0, x < 0 ⎩
数值分析
性质:
1. x+k 有 k-1阶连续导数; 2. x+k 在x=0处k阶导数不存在;
k ⎧ ( x − a ) , 3. ( x − a ) k = ⎨ + ⎩0,
x≥a x<a
数值分析
小结
• 多项式插值法,其目的是利用节点上的值,构造通过这些节 点的多项式,从原则上说,利用n+1个节点的值,可以构造n 次多项式,而且这种构造是唯一的!利用待定系数法,将节 点值带入后,得到一个n+1阶线性方程,即可求出多项式。
′′, γ n = 0, β n = 2 yn ′′. α 0 = 0, β 0 = 2 y0
数值分析
2. 对于第二种边值条件有:(同上)
yn − yn−1 6 y1 − y0 6 ′ ), γ n = 1, β n = ( yn ′− α 0 = 1, β 0 = ( − y0 ) h1 h1 h1 hn
y1 − y0 yn − yn−1 h1 6 ,γ n = 1 − αn , βn = ( ) αn = − h1 + hn h1 + hn h1 hn
数值分析
已知函数表 j xj yj 0 0 0 1 1 2 2 2 3 3 3 16
求 边 界 条 件 y ′(0)= 1,y ′(3)= 0 的 三 次 样 条 插值公式。 解:用三弯矩方程求解。 由 已 知 , h0 = h1 = h 2 = 1。
数值分析
样条函数的定义:对于区间[a, b]上的一个分划 π:a=x0<x1<…<xn-1<xn=b 如果函数s(x)满足条件 (1)s(x)在每个子区间[xi, xi+1] (i=0,1,…,n-1)上是次数不高于k 的多项式, (2)s(x)在区间[a, b]上有k-1阶连续导数, 则称s(x)是定义在[a, b]上对应于分划π的k次多项式样条函数 (简称k次样条)。x0, x1, …, xn 称为样条节点,其中x1, …, xn称为内节点,x0 和xn 称为边界节点。 • 样条插值是分段低次插值函数; • 实际应用中常取k=3,即三次样条函数。
数值分析
12
方程组的系数及右端项为 j
γj
αj
βj
0 1 6 1 1/ 2 1/ 2 −3 2 1/ 2 1/ 2 36 3 1 −78 代入得方程组 1 0 0 ⎞⎛ M0 ⎞ ⎛ 6 ⎞ ⎛ 2 ⎜ ⎟⎜ M ⎟ ⎜ ⎟ 1/ 2 2 1/ 2 0 3 − 1 ⎜ ⎟ ⎜ ⎟ ⎟ =⎜ ⎜ 0 1/ 2 2 1/ 2 ⎟ ⎜ M 2 ⎟ ⎜ 36 ⎟ ⎟ ⎜ ⎜ ⎟⎜ ⎟ 0 1 2 ⎠ ⎝ M 3 ⎠ ⎝ −78 ⎠ ⎝ 0
3. 对于第三种边值条件有:
⎡ 2 α1 ⎢γ 2 α2 ⎢ 2 ⎢ O O ⎢ O ⎢ ⎢ ⎢ ⎣α n
γ1
O O
γ n−1
O 2
γn
⎤ ⎡ M 1 ⎤ ⎡ β1 ⎤ ⎥⎢ M ⎥ ⎢ β ⎥ ⎥⎢ 2 ⎥ ⎢ 2 ⎥ ⎥ ⎢ M ⎥ ⎢ M⎥ ⎥=⎢ ⎥ ⎥⎢ ⎥ ⎢ M ⎥ ⎢ M⎥ α n−1 ⎥ ⎢ M n−1 ⎥ ⎢ β n−1 ⎥ ⎥ ⎢ ⎥ ⎥⎢ 2 ⎦ ⎣ M n ⎦ ⎣ βn ⎦
三弯矩法求三次样条插值函
选取s(x)在插值节点的二阶导数为待定参数来列方程组(称为三弯矩 法)求解s(x)在每个小区间的待定系数。 1. 对于第一种边值条件有:
⎡ 2 α0 ⎤ ⎡ M 0 ⎤ ⎡ β0 ⎤ ⎢γ ⎥⎢ M ⎥ ⎢ β ⎥ 2 α 1 ⎢ 1 ⎥⎢ 1 ⎥ ⎢ 1 ⎥ ⎢ ⎥ ⎢ M ⎥ ⎢ M⎥ O O O ⎥=⎢ ⎥ ⎢ ⎥⎢ O O O ⎢ ⎥ ⎢ M ⎥ ⎢ M⎥ ⎢ γ n−1 2 α n−1 ⎥ ⎢ M n−1 ⎥ ⎢ β n−1 ⎥ ⎥ ⎢ ⎥ ⎢ ⎥⎢ γn 2 ⎦ ⎣ M n ⎦ ⎣ βn ⎦ ⎣
x ∈ [0,1] x ∈ [1, 2] x ∈ [2, 3]
数值分析
14
例 已知离散点: (1.1, 0.4000), (1.2, 0.8000), (1.4, 1.6500), (1.5, 1.8000), 取自然边界条件 M0 = Mn = 0, 构 造三次样条插值函数,并计算 f(1.25). 解 n = 3. ∵ h0= x1- x0 = 0.1, h1= 0.2, h2=0.1,
北京航空航天大学 数学与系统科学学院
Email: numerical_analysis@ Password:buaa2015 答疑时间:星期一下午15:00-17:00 答疑地点:双周:西配楼519室, 单周:主南307
朱立永
数值分析
第五章插值与逼近
第十六讲
样条插值
数值分析
代数插值
数值分析
• Lagrange公式的构造思想非常重要!后面的埃尔米特公 式出发点也是利用了这一点。
• 如果节点上不仅已知函数值,同时还已知函数的导数 即要求插值多项式在节点上与函数具有相同的函数值和 数值,这时要用埃尔米特公式。
• 高次插值有时会引起较大误差,对此,解决的方案是分 低次插值。如果对插值多项式要求较好的光滑性,这时 需要进行样条函数插值。
• 为便于在计算机上实现,引入了Lagrange插值公式和牛顿插 值公式,各有千秋, Lagrange插值公式便于理解和记忆, 顿公式便于计算机计算。但必须指出的是,不管用什么方法 插值,所得到的插值公式实际上是完全一样的,包括上面所 说的待定系数法,这就是插值公式唯一性。唯一性的一个直 接推论就是各种插值公式的余项完全一样,都是Lagrange余 项。