函数逼近的插值法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分段三次Hermite插值
三次Hermite插值 x [x j1, x j ]时
H3 (x) j1(x) y j1 j (x) y j j1(x) f j1 j (x) f j

A1


j 1 (u )

(1
2
u
x j1 hj
u )(
xj hj

M
n1

2M n

6
f
[ xn1 ,
xn ,
xn ]
三次样条插值
第二类边界条件 s'' (x0 ) f '' (x0 ) M 0 , s'' (xn ) f '' (xn ) M n 同理可得

i
2M1 M i1

1M
2M i
2 6 f [x0 , x1, x2 ]
三次多项式; (3) 在开区间(a,b)上s(x)有连续的二阶导数,
则称s( x)为区间[a, b]对应于划分的三次样条函数。
三次样条插值
设三次样条函数s(x)在每个子区间[x j1, x j ]上有表达式
s(x) s j (x) a j x3 bj x2 c j x d j x (x j1, x j ), j 1,2...n
算法: 1.输入x j , f j , f j (j 0,1,...,n); 2.计算插值
(1)输入插值点u;
(2)对于j 1,2,...,n做
如果u x j则计算A1, A2 , B1, B2; v A1 f j1 A2 f j B1 f j1 B2 f j; 3.输出u, v。
其中a
j
,
b
j
,
c
j
.d
为待定常数,插值条件为:
j
(1)s(x j ) f (x j ) (j 0,1,...,n);
(2) (n 1)内节点处连续及光滑性条件:
s(x j s(x j

0) 0)

s(x j 0) s(x j 0)

j
1,2,...,n
1
i

hi hi1 hi

1 2
,
i

hi1 hi1 hi

1 2
由第二类边界条件得
2 1
M0 5.86667

0.5
2
0.5

M1

5.14260

0.5
2 0.5
0.5 2
0.5

M
2
M3


3.36798 1.39740

1
2 M 4 0.26880
解方程得
M0 2.04462, M1 1.77757, M2 1.13031, M3 0.43716, M4 0.08418
将Mi代(*)式得
0.29672x3 1.02231x2 1, x [0, 0.15]
分段线性插值
前面我们根据区间[a,b]上给出的节点做
插值多项式Ln(x)近似表示f (x)。一般总 以为Ln(x)的次数越高,逼近f (x)的精度
越好,但实际并非如此,次数越高,计 算量越大,也不一定收敛。因此高次插 值一般要慎用,实际上较多采用分段低 次插值。
1 分段插值
设在区间[a, b]上,给定n+1个插值节点 a x0 x1 x2 xn b
xi
]

1 6
(M i1

2M
i
)hi1

f
[ xi
,
xi 1 ]

1 6
(2M i

M i1)hi

(2M i M i1)hi (M i1 2M i )hi1 6( f [xi1, xi ] f [xi , xi1]) 也就是
hi M i1 2(hi hi1)M i hi1M i1 6( f [xi1, xi ] f [xi , xi1])
s(x j 0) s(x j 0)
பைடு நூலகம்
三次样条插值
对于待定系数a j ,bj , c j.d j j 1,2,...n,即4n个未知系数, 而插值条件为4n 2个,还缺两个,因此须给出两个 条件称为边界条件,有以下三类: 第一类 已知两端点的一阶导数
ss((xxn0
) )

f f
(x0 ) (xn )

m0 mn
三次样条插值
第二类:.已知两端点二阶导数
s( s(
x0 xn
) )

f (x0 ) f (xn )

M0 Mn
当M 0 M n 0时为自然边界条件
第三类:周期边界条件
s(x0 ) s(xn )
0.15 0.30 0.45 0.60 0.97800 0.91743 0.83160 0.73529
求满足边界条件
s(0) 0, s(0.60) 0.64879三次样条
函数s(x),并计算s(0.2)。
解 做差商由于是等距离节点,
hi xi xi1 0.15 i 1,2,3,4
i M i1 6 f [xi1
1M 0
, xi , xi1
]
n1M n2 2M n 6 f [xn2 , xn1, xn ] n1M n
i 2,3,...,n 2
三次样条插值
周期函数边界条件下的三弯方程
2M1 1M 2 1M n f [x0 , x1, x2 ]
两边同除
xi1 xi1 (xi1 xi xi xi1) hi1 hi

hi hi1 hi
M i1
2Mi

hi hi1
hi
M i1

6
f [xi1, xi , xi1]
即得
iM i1 2M i iM i1 6 f [xi1, xi , xi1] i 1,2,...n 1
由于 0.20[0.15,0.30] 故
s(0.20) 0.71918 0.23 1.21242 0.23 0.02851 0.2 0.99858 0.96154

(
1 6
M
i 1

2 6
M
i
)(xi1

xi
)

yi xi
yi1 xi1

(
2 6
M
i

1 6
M
i 1 ) ( xi
xi1)
记hi xi xi1
i

hi hi1 hi
i
1 i

hi1 hi1 hi
三次样条插值
则上式为
f
[ xi 1 ,

(
1 6
M
i 1

2 6
M
i
)( xi 1

xi
)
(1)
三次样条插值
同理在[xi1, xi ]上讨论得
s(xi )
yi xi
yi1 xi1

(
2 6
M
i

1 6
M
i 1 ) (xi
xi1)
(2)
因为s( x)连续,所以(1)(2)即
yi1 yi xi1 xi
)2
A2


j (u)

(1
2
u
xj hj
u )(
x j1 hj
)2
B1


j 1 (u )

(u

u x j1)(
xj hj
)2
B2


j
(u)

(u

xj
u )(
xj hj
)2
分段三次Hermite插值算法
则 v A1 y j1 A2 y j B1 f j1 B2 f j
三次样条插值
第一类边界条件:s(x0 ) f (x0 ) s(xn ) f (xn )
(1) 式中令i 0得
s(x0 )
y1 x1
y0 x0
(1 6
M1

2 6
M 0 )(x1 x0 )
既有 2M 0 M1 6 f [x0 , x0 , x1]
三次样条插值
(x

xi )2

M i1 M i 3!(xi1 xi )
(x

xi )3
(*)
令x

xi

1
yi1

yi

s(xi )(xi1

xi )
Mi 2!
( xi 1

xi )2

M i1 3!
Mi
( xi 1

xi )2
解得
s(xi )
yi1 yi xi1 xi

i M i1

2M i

i M i1

6
f
[ xi 1 ,
xi ,
xi 1 ]
nM1 nM n1 2M n 6 f [xn1, xn , xn1]
i 2,3,...,n 1
例题
例2.4.1 已知函数y=f(x)的数表如下表所示。
x0 f(x) 1
分段线性插值
算法:
1.输入xi , yi (i 0,1,..., n) 2.按k 1, 2,..., m做
(1)输入插值点u
(2)对于j 1,2,...,n做
如果x j1

u

x

j
分段线性插值
10 v y j1 (u x j1)(y j y j1) /(x j x j1)
v y j1 (u x j1)( y j y j1) / (x j x j1) 这是因为
y
x xj x j1 x j
y j1
x x j1 x j x j1
yj
y j1 (x x j1)( y j y j1) / (x j x j1)
s(x) M i1 M i xi1 xi
x [xi , xi!]
三次样条插值
于是由Taylor展示有
s(x)

s( xi
)

s( xi
)(x

xi
)

s( xi 2!
)
(x

xi
)2

s( xi 3!
)
(x

xi
)3

yi

s(xi )(x

xj
)

Mi 2!
1 x j1 x j x j1
2 三次样条插值
定义 设函数f (x)是区间[a,b]上的二次连续可微函数, 在区间[a,b]上给出一个划分
:a x0 x1 ... xn1 xn b 如果函数s( x)满足条件
(1)s(x j ) f (x j ) ( j 0,1,2,...n); (2) 在每个小区间[x j1, x j ]( j 1,2,...,n)上s(x)是不超过

s( x0

0)

s( x0

0)
s(xn 0) s(xn 0)
三次样条插值
用三弯矩阵构造三次样条插值函数
令s(xi ) M i (i 0,1,2,...n)。因为s(x)在[xi , xi1]上 是三次多项式,所以s(x)在[xi , xi1]上是一次多 项式,故有
和相应的函数值y0,y1, yn,求作一个差值函数(x),
具有下面性质:
(1)(xj )=y j , j 0,1, 2 n; (2)(x)在每个小区间(x)[x j , x j1]上是线性函数。
1 x j1 x j x j1
分段线性插值
一般的,x j1 u x j ,则线性插值函数为
同理(2)式中令i n得
M n1 2M n 6 f [xn1, xn , xn ] 即有
2M 0 M1 6 f [x0 , x0 , x1]
iM i1 2M i iM i1 6 f [xi1, xi , xi1] (i 1,2,...,n 1)
s(
x)

0.71918 0.77017
x3 x3
1.21242x2 1.25831x2

0.02851x 0.04228x

0.99858, 0.99720,
x [0.15, 0.30] x [0.30, 0.45]
0.57927x3 1.00059x2 0.07370x 1.01461 x [0.45, 0.60]
yj
y j1 (x x j1)(y j y j1) /(x j x j1)
缺点:I(x)连续,但不光滑,精度较低,仅在
h

max{h
1 jn
j

xj
x j1}足够小才能较好的逼近。
分段三次Hermite插值
上述分段线性插值曲线是折线,光滑性 差,如果交通工具用这样的外形,则势 必加大摩擦系数,增加阻力,因此用 hermite分段插值更好。
20 输出u, v
分段插值函数

I1 ( x)
I ( x)


I 2 ( x)


I
n
(
x)
x (x0 , x1)
x (x1, x2 ) ...... x (xn1, xn )
其中I j

x xj x j1 x j
y j1
x x j1 x j x j1
相关文档
最新文档