. . .
??y*????????????????1*??x?*7(x?1)
6**y??x?*7(x?1)??????????????y*??x*?3若通过(3?22)计算y值,则
??y*???????(3?2x*)2??x*?6y*??x*?*3?2x????????????y*??x*???????????若通过
1计算y值,则 3(3?22)??y*??????????????????1??x*?*4(3?2x)
1**y??x?*7(3?2x)????????????????y*??x*?通过1计算后得到的结果最好。
(3?22)313.f(x)?ln(x?x2?1),求f(30)的值。若开平方用6位函数表,问求对数时误差有多大?若改用另一等价公式。ln(x?x2?1)??ln(x?计算,求对数时误差有多大? 解
x2?1)
f(x)?ln(x?x2?1), ?f(30)?ln(30?899)
设u?899,y?f(30) 则u????????
*1???u*??????4
2故
.. ..
. . .
??y*??????????????*??u?*???u
1??u*?0.0167???????????????3若改用等价公式
ln(x?x2?1)??ln(x?x2?1)
则f(30)??ln(30?899) 此时,
??y*???????????*???u?*???u
1???u*?59.9833???????????7第二章 插值法
1.当x?1,?1,2时,f(x)?0,?3,4,求f(x)的二次插值多项式。 解:
x0?1,x1??1,x2?2,f(x0)?0,f(x1)??3,f(x2)?4;l0(x)?l1(x)?l2(x)?(x?x1)(x?x2)1??(x?1)(x?2)
(x0?x1)(x0?x2)2(x?x0)(x?x2)1?(x?1)(x?2)(x1?x0)(x1?x2)6(x?x0)(x?x1)1?(x?1)(x?1)(x2?x0)(x2?x1)3则二次拉格朗日插值多项式为
L2(x)??yklk(x)
k?02??3l0(x)?4l2(x) ??(x?1)(x?2)?124(x?1)(x?1) 是-3l1 3?5237x?x?6232.给出f(x)?lnx的数值表
.. ..
. . .
X lnx 0.4 -0.916291 0.5 -0.693147 0.6 -0.510826 0.7 -0.356675 0.8 -0.223144 用线性插值及二次插值计算ln0.54的近似值。 解:由表格知,
x0?0.4,x1?0.5,x2?0.6,x3?0.7,x4?0.8;f(x0)??0.916291,f(x1)??0.693147f(x2)??0.510826,f(x3)??0.356675f(x4)??0.223144若采用线性插值法计算ln0.54即f(0.54), 则0.5?0.54?0.6
l1(x)?l2(x)?x?x2??10(x?0.6)x1?x2x?x1??10(x?0.5)
x2?x1L1(x)?f(x1)l1(x)?f(x2)l2(x) ?6.93147(x?0.6)?5.10826(x?0.5)
?L1(0.54)??0.6202186??0.620219
若采用二次插值法计算ln0.54时,
l0(x)?l1(x)?l2(x)?(x?x1)(x?x2)?50(x?0.5)(x?0.6)(x0?x1)(x0?x2)(x?x0)(x?x2)??100(x?0.4)(x?0.6)(x1?x0)(x1?x2) (x?x0)(x?x1)?50(x?0.4)(x?0.5)(x2?x0)(x2?x1)L2(x)?f(x0)l0(x)?f(x1)l1(x)?f(x2)l2(x)
??50?0.916291(x?0.5)(x?0.6)?69.3147(x?0.4)(x?0.6)?0.510826?50(x?0.4)(x?0.5)?L2(0.54)??0.61531984??0.615320
3.给全cosx,0?x?90的函数表,步长h?1??(1/60),若函数表具有5位有效数字,研究用线性插值求cosx近似值时的总误差界。
解:求解cosx近似值时,误差可以分为两个部分,一方面,x是近似值,具有5位有效数字,在此后的计算过程中产生一定的误差传播;另一方面,利用插值法求函数cosx的近似值时,采用的线性插值法插值余项不为0,也会有一定的误差。因此,总误差界的计算应综合以上两方面的因素。
.. ..
. . .
当0?x?90时, 令f(x)?cosx 取x0?0,h?(11?? )???606018010800令xi?x0?ih,i?0,1,...,5400 则x5400??2?90
当x??xk,xk?1?时,线性插值多项式为
L1(x)?f(xk)插值余项为
x?xk?1x?xk?f(xk?1)
xk?xk?1xk?1?xkR(x)?cosx?L1(x)?又
1f??(?)(x?xk)(x?xk?1) 2在建立函数表时,表中数据具有5位有效数字,且cosx??0,1?,故计算中有误差传播
过程。
1??(f*(xk))??10?52x?xk?1x?xk?1R2(x)??(f*(xk))??(f*(xk?1))xk?xk?1xk?1?xk??(f*(xk))(x?xk?1x?xk?1?)xk?xk?1xk?1?xk
1??(f*(xk))(xk?1?x?x?xk)h??(f*(xk))?总误差界为
.. ..
. . .
R?R1(x)?R2(x)1(?cos?)(x?xk)(x?xk?1)??(f*(xk))21??(x?xk)(xk?1?x)??(f*(xk))2 11??(h)2??(f*(xk))221?1.06?10?8??10?52?0.50106?10?5?4.设为互异节点,求证: (1)
n?xl(x)?xkjjj?0nk (k?0,1,,n);
(2)证明
?(xj?0j?x)klj(x)?0 (k?0,1,,n);
(1) 令f(x)?x 若插值节点为xj,j?0,1,k,n,则函数f(x)的n次插值多项式为Ln(x)??xkjlj(x)。
j?0nf(n?1)(?)?n?1(x) 插值余项为Rn(x)?f(x)?Ln(x)?(n?1)!又
k?n,
?f(n?1)(?)?0?Rn(x)?0nk??xkjlj(x)?x (k?0,1,j?0,n);
(2)?(xj?x)klj(x)j?0n??(?Ckjxij(?x)k?i)lj(x)
j?0ni?0iknn??C(?x)(?xijlj(x))k?ii?0j?0n又0?i?n 由上题结论可知
.. ..