数值计算方法问题详解
数值计算方法习题一(2)
习题二(6)
习题三(15)
习题四(29)
习题五(37)
习题六(62)
习题七(70)
2009.9,9
习题一
1.设x >0相对误差为2%4x 的相对误差。 解:由自变量的误差对函数值引起误差的公式:
(())(())'()()()()
f x x
f x f x x f x f x δδ?=
≈得
(1)()f x =
11
()()*2%1%
22x x δδδ≈
===;
(2)4
()f x x =时
44
4
()()'()4()4*2%8%x x x x x x δδδ≈
===
2.设下面各数都是经过四舍五入得到的近似数,即误差不超过最后一位的半个单位,试指出他们各有几位有效数字。
(1)12.1x =;(2)12.10x =;(3)12.100x =。 解:由教材9P 关于1212.m n
x a a a bb b =±型数的有效数字的结论,易得上面三个数的有效
数字位数分别为: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)fl fl ?+?+ =2
(0.3443100.1352)fl ?+
=0.34572
10?
(2)31.97+(2.456+0.1352)
2
1
(0.319710(0.245610))fl fl ≈?+? = 21
(0.3197100.259110)fl ?+? =0.34562
10?
易见31.97+2.456+0.1352=0.3456122
10?,故(2)的计算结果较精确。
4.计算正方形面积时,若要求面积的允许相对误差为1%,测量边长所允许的相对误差限为多
少?
解:设该正方形的边长为x ,面积为2
()f x x =,由(())(())'()()()()
f x x
f x f x x f x f x δδ?=≈
解得(())()()'()
f x f x x xf x δδ≈=
2
(())(())
22
f x x f x x x
δδ=
=0.5%
5.下面计算y 的公式哪个算得准确些?为什么?
(1)已知1x <<,(A )11121x
y x x
-=-
++,(B )22(12)(1)x y x x =++; (2)已知1
x >>,(A )y
=
,(B )y = (3)已知1x <<,(A )22sin x y x =,(B )1cos
2x
y x
-=;
(4)(A
)9y =-(B )y =解:当两个同(异)号相近数相减(加)时,相对误差可能很大,会严重丧失有效数字;当两个数相乘(除)时,大因子(小除数)可能使积(商)的绝对值误差增大许多。故在设计算法时应尽量避免上述情况发生。
(1)(A )中两个相近数相减,而(B )中避免了这种情况。故(B )算得准确些。 (2)(B )中两个相近数相减,而(A )中避免了这种情况。故(A )算得准确些。 (3)(A )中2sin x 使得误差增大,而(B )中避免了这种情况发生。故(B )算得准确些。 (4)(A )中两个相近数相减,而(B )中避免了这种情况。故(B )算得准确些。
6.用消元法求解线性代数方程组
1515
1212
10102x x x x ?+=?
+=? 假定使用十进制三位浮点数计算,问结果是否可靠? 解:使用十进制三位浮点数计算该方程则方程组变为
1161612111120.100100.100100.10010(1)0.100100.100100.20010
(2)
x x x x ??+?=????+?=???
(1)-(2)得161620.100100.10010x ?=?,即1
20.10010x =?,把2x 的值代入(1)得
10.000x =;把2x 的值代入(2)得110.10010x =?
解1110.1001020.00010x x ?=???=???不满足(2)式,解1
1
10.1001020.10010
x x ?=???=???不满足(1)式,故在十进制三位浮
点数解该方程用消元法计算结果不可靠。
7.计算函数3
2
()331f x x x x =-+-和()((3)3)1 2.19g x x x x x =-+-=在处的函数值(采用十进制三位浮点数计算)。哪个结果较正确?
解:110657.010480.0310219.010480.0)19.2(1
1
1
1
-?+??-???=f 110657.010144.010105.0122-?+?-?= =10.16710?
=)19.2(g 110219.0)310219.0)81.0((1
1
-??+??-
110219.010123.011-???==10.16910?
即1
()0.16710f x =?,1
()0.16910g x =?
而当 2.19x =时32331x x x -+-的精确值为1.6852,故()g x 的算法较正确。
8.按照公式计算下面的和值(取十进制三位浮点数计算):
(1)6
113i i =∑;(2)1
61
3
i i =∑。
解:(1)6
2345611
111111
3
333333
i
i ==
+++++∑=0.3330.1110.0370.0120.0040.001+++++
489.0=
(2)
1
654326
1111111
3333333i i ==+++++∑=0.0010.0040.0120.0370.1110.333+++++
489.0=
9.已知三角形面积1sin 2S ab C =,其中02
C π
<<。 证明:()()()()S a b C δδδδ≤++。
证
明
:
由自
变量的误差对函数值的影响公式:
12121
12(,,,)
((,,
,))()(,,,)n
i n n i i n i
x f x x x f x x x x f x x x x δδ=?≈?∑
。 得
(,,)(,,)(,,)((,,))()()()
(,,)(,,)(,,)a S a b C b S a b C C S a b C S a b C a b C S a b C a S a b C b S a b C C
δδδδ???=
++???
()sin ()sin ()cos ()sin sin sin a b C
S b C a a C b ab C C ab C ab C ab C
δδδδ=
??+??+??
=()()()C
a b C tgC
δδδ++
()()()a b C δδδ≤
++
(当02
C π
<<时,C tgC <),命题得证。
习题二
1.找出下列方程在0x =附近的含根区间。 (1)cos 0x x +=;(2)3cos 0x x -=; (3)sin()0x
x e
--=;(4)20x x e --=;
解:(1)设()cos f x x x =+,则(0)1f =,(1)-0.4597f -=,由()f x 的连续性知在[]1,0x ∈-,
()f x =0有根。
同题(1)的方法可得:(2),(3),(4)的零点附近的含根区间分别为[]0,1;0,2π??
????
;[]0,1
2.用二分法求方程sin 10x x -=在[]0,2的根的近似值并分析误差。 解
:
令
()sin 1f x x x =-,则有(0)10f =-<,(2)0.81860f =>,
'()sin cos 0f x x x x =+>,[]0,2x ∈
所以函数()f x 在()0,2上严格单调增且有唯一实根x *。 本题中求根使得误差不超过410-,则由误差估计式
12||+-≤
-k k a b x α,所需迭代次数k 满足41
102
2-+<-k ,即取28.13≥k 便可,因此取14=k 。 用二分法计算结果列表如下: