数值计算方法
1
习题一(2)
习题二(6)
习题三(15)
习题四(29)
习题五(37)
习题六(62)
习题七(70)
2009.9,9
习题一
1.设 x >0 相对误差为 2%,求 x , 4x 的相对误差。
解:由自变量的误差对函数值引起误差的公式:
(
( ))
f x
(
( ))
f x
( )
f x
x
( )
f x
f
'( ) ( )
x
x
得
(1) ( )
f x
x 时
2
(
x
)
)'
( )
x
1
2
( )
x
1
2
*2% 1%
;
(
x
x
x
x 时
4
(2)
4
(
x
)
( )
f x
x
4
x
4
(
x
)'
( )
x
4 ( )
x
4*2% 8%
2.设下面各数都是经过四舍五入得到的近似数,即误差不超过最后一位的半个单位,试指出他
们各有几位有效数字。
(1) 12.1
解:由教材 9P 关于
x
型数的有效数字的结论,易得上面三个数的有效
;(3) 12.100
;(2) 12.10
.m
a b b
1 2
a a
1 2
x
x
x
b
n
。
数字位数分别为:3,4,5
3.用十进制四位浮点数计算
(1)31.97+2.456+0.1352;
哪个较精确?
解:(1)31.97+2.456+0.1352
2
(
fl
(0.3443 10
fl
(0.3197 10
2
fl
=
=0.3457
210
0.1352)
(2)31.97+(2.456+0.1352)
0.2456 10 ) 0.1352)
1
(2)31.97+(2.456+0.1352)
2
(0.3197 10
fl
(0.3197 10
fl
2
1
(0.2456 10 ))
fl
1
0.2591 10 )
=
=0.3456
210
易见 31.97+2.456+0.1352=0.345612
210 ,故(2)的计算结果较精确。
4.计算正方形面积时,若要求面积的允许相对误差为 1%,测量边长所允许的相对误差限为多
少?
解:设该正方形的边长为 x ,面积为
( )
f x
2
x ,由
(
( ))
f x
解得
( )
x
(
( )
( ))
f x
f x
'( )
xf
x
(
=
2
( ))
f x x
2
x
x
(
( ))
f x
2
=0.5%
5.下面计算 y 的公式哪个算得准确些?为什么?
( ))
(
f x
( )
f x
x
( )
f x
f
'( ) ( )
x
x
(1)已知
x ,(A)
1
y
3
(2)已知
x ,(A)
1
y
1
1 2
x
x
x
1
1
2
x
(
x
1
x
x
1
x
)
,(B)
y
22
x
(1 2 )(1
x
,(B)
y
x
;
)
x
1
x
x
;
1
x
(3)已知
x ,(A)
1
y
2sin x
2
x
,(B)
y
1 cos 2x
x
;
(4)(A) 9
y
80
,(B)
y
1
9
80
解:当两个同(异)号相近数相减(加)时,相对误差可能很大,会严重丧失有效数字;当两
个数相乘(除)时,大因子(小除数)可能使积(商)的绝对值误差增大许多。故在设计算法
时应尽量避免上述情况发生。
(1)(A)中两个相近数相减,而(B)中避免了这种情况。故(B)算得准确些。
(2)(B)中两个相近数相减,而(A)中避免了这种情况。故(A)算得准确些。
(3)(A)中 2
(4)(A)中两个相近数相减,而(B)中避免了这种情况。故(B)算得准确些。
sin x 使得误差增大,而(B)中避免了这种情况发生。故(B)算得准确些。
6.用消元法求解线性代数方程组
15
10
x
1
x
1
15
10
x
2
x
2
2
假定使用十进制三位浮点数计算,问结果是否可靠?
解:使用十进制三位浮点数计算该方程则方程组变为
1
0.100 10
1
0.100 10
x
1
x
1
16
0.100 10
1
0.100 10
16
0.100 10
x
2
1
0.200 10
x
2
(1)
(2)
(1)-(2)得
16
0.100 10
x
2
16
0.100 10
,即
x
2
把 2x 的值代入(2)得
x
1
1
0.100 10
1
0.100 10
,把 2x 的值代入(1)得 1
x
0.000
;
解
1
1 0.100 10
x
1
2 0.000 10
x
不满足(2)式,解
1
1 0.100 10
x
1
2 0.100 10
x
不满足(1)式,故在十进制三位浮
点数解该方程用消元法计算结果不可靠。
和 ( )
g x
1
7.计算函数
十进制三位浮点数计算)。哪个结果较正确?
( )
f x
3
3
x
x
x
3
2
((
x
3)
x
3)
x
1
在
x
2.19
处的函数值(采用
解:
f
)19.2(
.0
4
1
10
144.0
.03
480
2
10
1
10
657.0
1
10
1
.0
10
657
1
1
480
1
219
10
.0
2
105.0
10
1
0.167 10
=
.0)81.0((
219
1
123.0
10
( ) 0.169 10
g x
3
x
10
219.0
1
1
)19.2(g
即
而当 2.19
( ) 0.167 10
f x
x
,
时 3
23
x
x
1
.0)3
1
10
1
1
10
219
1
1
0.169 10
=
1
的精确值为 1.6852,故 ( )g x 的算法较正确。
8.按照公式计算下面的和值(取十进制三位浮点数计算):
(1)
解:(1)
6
;(2)
1
i
1
3i
6
1
i
1
i
3
6
1
1
。
3i
i
1
1
2
3 3
1
3
3
1
4
3
1
5
3
1
6
3
=0.333 0.111 0.037 0.012 0.004 0.001
(2)
1
i
6
1
i
3
1
6
3
1
5
3
1
4
3
1
3
3
489.0
1
2
3
489.0
1
3
=0.001 0.004 0.012 0.037 0.111 0.333
9.已知三角形面积
S
1
2
ab
sin
C
,其中 0
C
。
2
证明: ( )
S
( )
a
( )
b
(
C
)
。
证 明 : 由 自 变 量 的 误 差 对 函 数 值 的 影 响 公 式 :
(
(
,
f x x
2
1
,
,
x
n
))
n
i
1
( ( ,
S a b C
,
))
a
( ,
S a b C
,
x
i
(
,
,
f x x
1
2
( ,
,
S a b C
a
)
1
,
(
,
f x x
2
x
i
b
( ,
S a b C
,
)
x
n
,
)
( )
a
,
x
n
)
(
x
i
)
。 得
,
( ,
S a b C
b
)
)
( )
b
C
( ,
S a b C
,
)
,
( ,
S a b C
C
)
(
C
)
( )
S
a
sin
C
ab
b
sin
C
( )
a
b
sin
C
ab
a
sin
C
( )
b
C
sin
C
ab
ab
cos
C
(
C
)
= ( )
a
( )
b
C
tgC
(
C
)
( )
a
( )
b
(
C
)
(当 0
C
时,C tgC
2
),命题得证。
5
1.找出下列方程在 0x 附近的含根区间。
习题二
x
(1) cos
(3)sin( )
x
x
e
;(2)3
x
0
;(4) 2
x
0
x
cos
x
x
e
0
;
0
;
解:(1)设 ( )
f x
x
cos
x
,则 (0) 1
, ( 1)
f
f
-0.4597
,由 ( )
f x 的连续性知在
x
1,0
f x =0 有根。
内, ( )
同题(1)的方法可得:(2),(3),(4)的零点附近的含根区间分别为
0,1 ; 0,
2
;
0,1
6
2.用二分法求方程 sin
x
解 : 令
( )
f x
f
'( )
x
sin
x
x
cos
x
0,2 内的根的近似值并分析误差。
f
1 0
(0)
,
f
1
, 则 有
1 0
x 在
sin
x
x
,
x
0
0,2
(2)
0.8186
0
,
所以函数 ( )
f x 在
0,2 上严格单调增且有唯一实根 x 。
本题中求根使得误差不超过 410 ,则由误差估计式
|
x
k
|
b
a
12
k
,所需迭代次数 k 满足
02
1
k
2
4
10
,即取
28.13k
便可,因此取 14k
。
用二分法计算结果列表如下:
ka
0
1
1
1
1
k
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
kb
2
2
1.5
1.25
1.125
1.125
1.125
1.125
1.1171875
1.1171875
1.115234375
1.1142578125
1.1142578125
1.1142578125
1.1142578125
kx
1
1.5
1.25
1.125
1.0625
1.09375
1.109375
1.1171875
1.11328125
1.115234375
1.1142578125
1.11376953125
1.114013671875
1.1141357421875
1.11419677734375
( kxf
)
-0.1585
0.4962
0.1862
0.015051
-0.0718
-0.02835
-0.00664
0.004208
-0.001216
0.001496
0.001398
-0.000538
-0.000199
-0.0000297
0.000055
1.0625
1.09375
1.109375
1.109375
1.11328125
1.11328125
1.11328125
1.11376953125
1.114013671875
1.1141357421875
7
由上表可知原方程的根
该问题得精确解为
14
x
1.11415714
1.11419677
734375
0871
,故实际误差为
.0
0000396
3.判断用等价方程
简单迭代法 1
x
(
x
k
x
k
( )
x
)
的收敛性,其中
建立的求解的非线性方程
( )
f x
3
x
2
x
1 0
在 1.5 附近的根的
(A)
( ) 1 1/
x
2
x
;(B)
( )
x
3
1
2
;(C)
x
( )
x
1
x
1
1.3,1.6 来考察。(A)
,显然当 0x 时, ( )x 单调递减,
( ) 1
x
1
2
x
解:取 1.5 附近区间
而 (1.3) 1.59171596
因此,当
x
1.3,1.6
,
时,
(1.6) 1.390625
1.3,1.6
。
( )
x
,
时,
1.3,1.6
又当
x
2
3
x
由迭代法收敛定理,对任意初值
x
'( )
x
2
3
1.3
0.92 1
,
1.3,1.6
,迭代格式 1
x
k
, (
1
k
0,1,2,
收敛。
)
1
2
x
k
(B)
(1
( )
x
1
3
x
2
)
,则 (1.3) 1.390755416
,
'( )
x
1
3 (1
2
x
2
2 3
)
x
0
(
x ,
0)
所以当
x
1.3,1.6
时,
( )
x
1.3,1.6
。
(1.6) 1.526921344
,
又当
x
1.3,1.6
时,
'( )
x
2
3
x
2
3
(1
2
x
)
2
3
1.6
2
(1 1.3 )
2
3
0.552 1
,
由迭代法收敛定理,对任意初值
x
1.3,1.6
,迭代格式
x
k
(1
1
1
2 3
)
x
k
,(
k
0,1,2,
收敛。
)
(C)
( )
x
1
x
1
,由于当
x
1.3,1.6
时,有
'( )
x
1
2(
x
1)
3
2
1
2(1.6 1)
3
2
所以对任意初值
x
1.3,1.6
1.075828706 1
,
(原方程的根除外),迭代格式 1
x
k
散。
1
x
k
1
(
k
0,1,2,
发
)
4.确定
x
( )
x
的简单迭代法 1
x
k
(
x
k
的收敛区间
,a b 。如果收敛,试估计使精度达到
)
410 时所需的迭代次数并进行计算。
(A)
( )
x
2
2
x
;
(B)
( )
x
; (C)
2
( )
x
sin
x
xe
3
2
5
2
x
)(
xf
解:(A)方程为
e x
2
x
3
x
0
,设
2
e
x
f
)5.0(
-0.8987
0
,故有根区间为
]5.0,0[
,题中
( )
x
8
|
2|
|)('
x
x
e
x
3
故迭代公式
( )
x
02|
|
3
2
x
xe
3
0
e
.0|
3333
2
在含根区间
]5.0,0[
内收敛。
x
cos
2
01)0(
,
x
2
2
3
x
xe
3
f
,则
x
2
,
(B)方程为
3
x
2 2
x
05
,设
)(
xf
3
x
2
x
f
)3(
4
0
,故有根区间为
]3,5.2[
,题中
( )
x
5
,则
f
)5.2(
,
2
|
|)('
x
|
2
5
2
x
,
-1.875
|10
|
x
3
0
10
3
5.2
|
0.64
1
故迭代公式
( )
x
5
2
x
在含根区间
2
]3,5.2[
内收敛。
(C)方程为
sin
x
cos
x
2
x
0
,设
)(
xf
sin
x
f
)1(
-0.6182
0
,故有含根区间 ]1,0[ ,题中
( )
x
f
01)0(
,
cos
sin
2
x
x
cos
x
2
,则
x
,
|
x
|
|)('
cos
x
2
sin
x
|
|
cos
0
0sin
2
15.0|
5.对下点列用埃特金方法加速。
x
0
x
1
x
2
x
3
x
4
x
5
x
6
0.54030,
0.87758,
0.94496,
0.96891,
0.98007,
0.98614,
0.98981.