解 (1)线性插值,取x0?0.5,x1?0.6,则
1n0.54?(?0.693147)?0.54?0.6?(?0.510826)?0.54?0.5
0.5?0.60.6?0.5 = 219
二次插值,取x0?0.5,x1?0.6,x2?0.7,则 1n0.54?(?0.693147)? ?(?0.510826) ?(0.356675) = 838 2
也可取x0?0.4,x1?0.5,x2?0.6进行二次插值得 ≈ 319 8
(2)记x0?0.4,x1?0.5,x2?0.6,x3?0.7,x4?0.8,x5?0.9,构造向后差分表
(0.54?0.6)(0.54?0.7)
(0.5?0.6)(0.5?0.7)(0.54?0.5)(0.54?0.7)
(0.6?0.5)(0.6?0.7)(0.54?0.5)(0.54?0.6)
(0.7?0.5)(0.7?0.6)xi f(xi) 291 147 826 675 144 361 ?fi 144 321 151 531 783 ?2fi 823 170 620 748 ?3fi 653 550 872 ?4fi 103 678 ?5fi 425 由Newton向后插值公式
Nx(x)?Nn(xn?th)
?fn?t?fn?1t(t?1)?2fn??|1t(t?1)?(t?n?1)?nfn
2!n!由于x?xn?th,当x?0.78,n?4时,t?(0.78?0.8)/0.1??0.2,故
1n0.78?N4(0.78)
= 144+ 531×
?1(?0.2)(?0.2?1)(?0.020620)
2! ?1(?0.2)(?0.2?1)(?0.2?2)(0.007550)
3! ?1(?0.2)(?0.2?1)(?0.2?2)(?0.2?3)(0.005103)
4! ≈ 453 由插值余项
f(s)(?) R4(x)?f(x)?N4(x)?t(t?1)?(t?4)h5
5!知
h5max|f(5)(x)| |R4(0.78)|?|t(t?1)?(t?4)|x?[x0,x4]5!0.15≤?|(?0.2)(?0.2?1)(?0.2?2)(?0.2?3)(?0.2?4)|
5! ?4!5?5.985?10?4
0.417 已知sin30°=,sin45°=,sinˊ(30°)=cos30°=,sinˊ(45°)=cos45°=,求sin40°。
分析 本题不仅给出两点上的函数值,而且还给出了导出数值,因此应利用两点三次Hermite插值。
解 利用两点三次Hermite插值 sin40??H3(40?)?H3(2?)
9 ?(1?2?2?/9??/6)(2?/9??/4)2?0.5
?/4??/6?/6??/4 ?(1?22?/9??/4)(2?/9??/6)2?0.7071
?/6??/4?/4??/6 ?(2???)(2?/9??/4)2?0.8660
96?/6??/44?/4??/6 ?(2???)(2?/9??/6)2?0.7071
9 =
(4)sin(?)2??22??2 |R(2?)|?(?)(?)|
94!9694 ≤1(?)2(??)2?0.00101
24183618 已知自然对数1nx和它的导数1/x的数表
x 291 147 675 144 1nx 1 x(1)利用Lagrange插值公式,求。 (2)利用Hermite插值公式,求。
分析 本题属常规计算题,按有关公式计算即可。
解 记x0?0.40,x1?0.50,x2?0.70,x3?0.80。首先列表计算
li(0.60,li?(xi)(i?0,1,2,3) i 3li(x) li(0.60) 667 li?(xi) 0 x?xj ?x?x0jj?0j?0?xj?0j?031? 333 0?xj? 667 1 x?xj ?x?x1jj?0j?033 667 1?x?xj?0j?1313j2 x?xj ?x?x2jj?0j?23 667 ?xj?0j?231? 667 2?xj3 x?xj ?x?x3jj?0j?3 667 ?xj?0j?31? 333 3?xj (1)利用Lagrange插值公式,有 1n0.60?L3(0.60)??l(0.6)f(x)
iii?03 = 667× 291)+ 667× 147) + 667× 675)+ 667)× 144) = 976
(2)利用Hermite插值公式,有
3H7(x)??{[1?2(x?xi)li?(xi))]li2(x)f(xi)?(x?xi)li2(x)f?(xi)}
i?0从而1n(0.60)?H7(0.60)? 889。
注:本题的真值1n0.60? 825 623…,可以看出Hermite插值所得结果要比Lagrange插值结精确得多。
19 设已知x0,x1,x2是[a,b]上三个互异的节点,函数f(x)在[a,b]上具有连续的四阶导数,而H3(x)是满足下列条件的三次多项式:
H(xi)?f(xi)(i?0,1,2)
(x1) H?(x1)?f?(1)写出H3(x)的表达式。
f(4)(?)(x?x0)(x?x1)2(x?x2)(2)证明:f(x)?H3(x)?4!法,解决这类问题的方法较多,常用的有以下两种解法。
(1)解法一 用插值法加待定系数法来做。
??(a,b)
分析 这是带导数的插值问题,但又不是Hermite插值问题,要求我们灵活运用插值方
设N2(x)为满足插值条件N2(xi)?f(xi)(i?0,1,2)的二次式,由插值条件可设H3(x)的形式为
H3(x)?N2(x)?A(x?x0)(x?x1)(x?x2)
?f[x0]?(x?x0)f[x0,x1]?(x?x0)(x?x1)f[x0,x1,x2]
?A(x?x0)(x?x1)(x?x2) (1) 其中A为待定系数,显然由(1)确定的H3(x)满足H3(xi)?f(xi)(i?0,1,2),待定系数A
?(x1)?f?(x1)来确定,为此对(1)式两边求导数 可由插值条件H3?(x)?f[x0,x1]?(x?x1)f[x0,x1,x2]?(x?x0)f[x0,x1,x2] H3 ?A[(x?x1)(x?x2)?(x?x0)(x?x2)?(x?x0)(x?x1)]
?(x1)?f?(x1)有 令x?x1,并利用插值条件H3(x1)?f[x0,x1]?(x1?x0)f[x0,x1,x2]?A(x1?x0)(x1?x2) f?于是
A?f?(x1)?f[x0,x1]?(x1?x0)f[x0,x1,x2] 从而
(x1?x0)(x1?x2)H3(x)?f[x0]?(x?x0)f[x0,x1]?(x?x0)(x?x1)f[x0,x1,x2]
?f?(x1)?f[x0,x1]?(x1?x0)f?[x0,x1,x2]
(x1?x0)(x1?x2) ?(x?x0)(x?x1)(x?x2) 解法二 用插值基函数来构造。
首先构造四个三次插值基函数h0(x),h1(x),h2(x),h1(x),使其满足条件 h0(x0)?1, h1(x0)?0, h2(x0)?0, h1(x0)?0,h0(x1)?0,h1(x1)?1,h2(x1)?0,h1(x1)?0,h0(x2)?0,h1(x2)?0,h2(x2)?1,h1(x2)?0,?(x1)?0 h0?(x1)?0 h1?(x1)?0 h2h1?(x1)?1
由h0(x)所满足的条件,可设h0(x)?A(x?x1)2(x?x2),其中A为待定系数。由h0(x0)?1,
1,故有
(x0?x1)2(x0?x2)(x?x1)2(x?x2) h0(x)?
(x0?x1)2(x0?x2)得A?同理可得
(x?x1)2(x?x0) h2(x)?
(x2?x1)2(x2?x0)由h1(x)满足的条件,可设h1(x)?C(x?x0)(x?x1)(x?x2),其中C为待定系数,由h1?(x1)?1,得C?1,故有
(x1?x0)(x1?x2)(x?x0)(x?x1)(x?x2)
(x1?x0)(x1?x2) h1(x)?下面求h1(x),由h1(x)满足条件,设h1?(x)?(ax?b)?(x?x0)(x?x2),其中
(x1?x0)(x1?x2)a,b为待定系数,利用h1(x1)?1,h1?(x1)?0得
ax1?b?1 a?(ax1?b)由此得
a?1?(ax1?b)1?0 x1?x0x1?x2(x0?x2)?2x1
(x1?x0)(x1?x2)[(x0?x2)?2x1]x1
(x1?x0)(x1?x2) b?1?所以
h1(x)?易验证
{[(x0?x2)?2x1](x?x1)(x1?x0)(x1?x2)}(x?x0)(x?x2)
(x1?x0)2(x1?x2)2?x1)h1(x) H3(x)?f(x0)h0(x)?f(x1)h1(x)?f(x2)h2(x)?f((2)证 当x为插值节点x0,x1,x2中任一点时,结论显然成立,下面设x异于x0,x1,x2。
由于R3(x)?f(x)?H3(x)满足
?(x1)?0 R3(x1)?0,R3(x2)?0,R3故可设R3(x)?K(x?x0)(x?x1)2(x?x2),其中K为依赖于x 的待定系数。
R3(x0)?0,固定x,作辅助函数
G(t)?f(t)?H3(t)?K(t?x0)(t?x1)2(t?x2) 显然G(t)在[a,b]上有四个零点x,x0,x1,x2,其中x1为二重零点。
利用Rolle定理,知G?(t)在x0,x1,x2,x组成的三个小区间内至少各有一个零点,记为
?1,?2,?3,加上x1,G?(t)在[a,b][a,b]上至少有4个零点,反复利用Rolly定理:
G??(t)在[a,b]内至少有3个零点。
G(3)(t)在[a,b]内至少有2个零点。
G(4)(t)在[a,b]内至少有1个零点,即存在一点ξ,使G(4)(?)?0。
f(4)(?)(4)(4)由于G(t)?f(t)?4!K,从而求得K?,所以
4!f(4)(?)(x?x0)(x?x1)2(x?x2) R3(x)?f(x)?H3(x)?4!20 对于给定插值条件,试分别求出满足下列边界条件的三次样条函数S(x): (1)S?(0)?1.S?(3)?2 (2)S??(0)?1.S??(3)?2
x 0 1 1 2 1 3 0 f(x) 0