数值计算方法教材答案
- 格式:doc
- 大小:3.59 MB
- 文档页数:70
1 习题一
1.设x>0相对误差为2%,求x,4x的相对误差。
解:由自变量的误差对函数值引起误差的公式:
(())(())'()()()()fxxfxfxxfxfx得
(1)()fxx时
11()()'()()*2%1%22xxxxxx;
(2)4()fxx时
444()()'()4()4*2%8%xxxxxx
2.设下面各数都是经过四舍五入得到的近似数,即误差不超过最后一位的半个单位,试指出他们各有几位有效数字。
(1)12.1x;(2)12.10x;(3)12.100x。
解:由教材9P关于1212.mnxaaabbb型数的有效数字的结论,易得上面三个数的有效数字位数分别为:3,4,5
3.用十进制四位浮点数计算
(1)31.97+2.456+0.1352; (2)31.97+(2.456+0.1352)
哪个较精确?
解:(1)31.97+2.456+0.1352
21((0.3197100.245610)0.1352)flfl
=2(0.3443100.1352)fl
=0.3457210
(2)31.97+(2.456+0.1352)
21(0.319710(0.245610))flfl
= 21(0.3197100.259110)fl
=0.3456210
易见31.97+2.456+0.1352=0.345612210,故(2)的计算结果较精确。
4.计算正方形面积时,若要求面积的允许相对误差为1%,测量边长所允许的相对误差限为多少?
2 解:设该正方形的边长为x,面积为2()fxx,由(())(())'()()()()fxxfxfxxfxfx
解得(())()()'()fxfxxxfx=2(())(())22fxxfxxx=0.5%
5.下面计算y的公式哪个算得准确些?为什么?
(1)已知1x,(A)11121xyxx,(B)22(12)(1)xyxx;
(2)已知1x,(A)211()yxxxxx,(B)11yxxxx;
(3)已知1x,(A)22sinxyx,(B)1cos2xyx;
(4)(A)980y,(B)1980y
解:当两个同(异)号相近数相减(加)时,相对误差可能很大,会严重丧失有效数字;当两个数相乘(除)时,大因子(小除数)可能使积(商)的绝对值误差增大许多。故在设计算法时应尽量避免上述情况发生。
(1)(A)中两个相近数相减,而(B)中避免了这种情况。故(B)算得准确些。
(2)(B)中两个相近数相减,而(A)中避免了这种情况。故(A)算得准确些。
(3)(A)中2sinx使得误差增大,而(B)中避免了这种情况发生。故(B)算得准确些。
(4)(A)中两个相近数相减,而(B)中避免了这种情况。故(B)算得准确些。
6.用消元法求解线性代数方程组
1515121210102xxxx
假定使用十进制三位浮点数计算,问结果是否可靠?
解:使用十进制三位浮点数计算该方程则方程组变为
1161612111120.100100.100100.10010(1)0.100100.100100.20010(2)xxxx
(1)-(2)得161620.100100.10010x,即120.10010x,把2x的值代入(1)得10.000x;把2x的值代入(2)得110.10010x
3 解1110.1001020.00010xx不满足(2)式,解1110.1001020.10010xx不满足(1)式,故在十进制三位浮点数解该方程用消元法计算结果不可靠。
7.计算函数32()331fxxxx和()((3)3)12.19gxxxxx在处的函数值(采用十进制三位浮点数计算)。哪个结果较正确?
解:110657.010480.0310219.010480.0)19.2(1111f
110657.010144.010105.0122
=10.16710
)19.2(g110219.0)310219.0)81.0((11
110219.010123.011=10.16910
即1()0.16710fx,1()0.16910gx
而当2.19x时32331xxx的精确值为1.6852,故()gx的算法较正确。
8.按照公式计算下面的和值(取十进制三位浮点数计算):
(1)6113ii;(2)1613ii。
解:(1)623456111111113333333ii=0.3330.1110.0370.0120.0040.001
489.0
(2)165432611111113333333ii=0.0010.0040.0120.0370.1110.333
489.0
9.已知三角形面积1sin2SabC,其中02C。
证明:()()()()SabC。
证明:由自变量的误差对函数值的影响公式:1212112(,,,)((,,,))()(,,,)ninniinixfxxxfxxxxfxxxx。 得
(,,)(,,)(,,)((,,))()()()(,,)(,,)(,,)aSabCbSabCCSabCSabCabCSabCaSabCbSabCC()sin()sin()cos()sinsinsinabCSbCaaCbabCCabCabCabC
4 =()()()CabCtgC
()()()abC
(当02C时,CtgC),命题得证。
习题二
1.找出下列方程在0x附近的含根区间。
5 (1)cos0xx;(2)3cos0xx;
(3)sin()0xxe;(4)20xxe;
解:(1)设()cosfxxx,则(0)1f,(1)-0.4597f,由()fx的连续性知在1,0x内,()fx=0有根。
同题(1)的方法可得:(2),(3),(4)的零点附近的含根区间分别为0,1;0,2;0,1
2.用二分法求方程sin10xx在0,2内的根的近似值并分析误差。
解:令()sin1fxxx,则有(0)10f,(2)0.81860f,'()sincos0fxxxx,0,2x
所以函数()fx在0,2上严格单调增且有唯一实根x。
本题中求根使得误差不超过410,则由误差估计式
12||kkabx,所需迭代次数k满足4110202k,即取28.13k便可,因此取14k。
用二分法计算结果列表如下:
k ka kb kx )(kxf
0 0 2 1 -0.1585
1 1 2 1.5 0.4962
2 1 1.5 1.25 0.1862
3 1 1.25 1.125 0.015051
4 1 1.125 1.0625 -0.0718
5 1.0625 1.125 1.09375 -0.02835
6 1.09375 1.125 1.109375 -0.00664
7 1.109375 1.125 1.1171875 0.004208
8 1.109375 1.1171875 1.11328125 -0.001216
9 1.11328125 1.1171875 1.115234375 0.001496
10 1.11328125 1.115234375 1.1142578125 0.001398
11 1.11328125 1.1142578125 1.11376953125 -0.000538
12 1.11376953125 1.1142578125 1.114013671875 -0.000199
13 1.114013671875 1.1142578125 1.1141357421875 -0.0000297
14 1.1141357421875 1.1142578125 1.11419677734375 0.000055
6 由上表可知原方程的根7343751.1141967714x
该问题得精确解为08711.11415714,故实际误差为0000396.0
3.判断用等价方程()xx建立的求解的非线性方程32()10fxxx在1.5附近的根的简单迭代法1()kkxx的收敛性,其中
(A)2()11/xx;(B)32()1xx;(C)1()1xx
解:取1.5附近区间1.3,1.6来考察。(A)21()1xx,显然当0x时,()x单调递减,而(1.3)1.59171596, (1.6)1.390625,
因此,当1.3,1.6x时, ()1.3,1.6x。
又当1.3,1.6x时,3322'()0.9211.3xx,
由迭代法收敛定理,对任意初值1.3,1.6x,迭代格式1211kkxx, (0,1,2,)k收敛。
(B)132()(1)xx,则(1.3)1.390755416, (1.6)1.526921344,
22312'()03(1)xxx (0)x,
所以当1.3,1.6x时, ()1.3,1.6x。
又当1.3,1.6x时,222233221.6'()0.552133(1)(11.3)xxx,
由迭代法收敛定理,对任意初值1.3,1.6x,迭代格式1231(1)kkxx,(0,1,2,)k收敛。
(C)1()1xx,由于当1.3,1.6x时,有
332211'()1.07582870612(1)2(1.61)xx,
所以对任意初值1.3,1.6x(原方程的根除外),迭代格式111kkxx (0,1,2,)k发散。