数值分析课后答案1
第一章 习题解答
1 设x >0,x 的相对误差限为δ,求 ln x 的误差。
解:设 x 的准确值为x *,则有
( | x – x* | /|x *| ) ≤ δ
所以
e (ln x )=| ln x – ln x * | =| x – x* | ×| (ln x ) ’|x=ξ·≈ ( | x – x* | / | x *| ) ≤ δ
另解:
e (ln x )=| ln x – ln x * | =| ln (x / x*) | = | ln (( x – x* + x *) / x *) |
= | ln (( x – x* ) / x * + 1) |≤( | x – x* | /|x *| ) ≤ δ
2 设 x = – 2.18 和 y = 2.1200 都是由准确值经四舍五入而得到的近似值。求绝对误差限ε( x ) 和 ε( y ) 。
解:| e (x ) | = |e (– 2.18)|≤ 0.005,| e (y ) | = |e ( 2.1200)|≤ 0.00005,所以
ε( x )=0.005, ε( y ) = 0.00005。
3 下近似值的绝对误差限都是 0.005,问各近似值有几位有效数字
x 1=1.38,x 2= –0.0312,x 3= 0.00086
解:根据有效数字定义,绝对误差限不超过末位数半个单位。由题设知,x 1,x 2, x 3有效数末位数均为小数点后第二位。故x 1具有三位有效数字,x 2具有一位有效数字,x 3具有零位有效数字。
4 已知近似数x 有两位有效数字,试求其相对误差限。
解:| e r (x ) | ≤ 5 × 10– 2 。
5 设 y 0 = 28,按递推公式 y n = yn-1 – 783/ 100 ( n = 1,2,…) 计算到y 100。若取783≈27.982 (五位有效数字),试问,计算 y 100 将有多大的误差?
解:由于初值 y 0 = 28 没有误差,误差是由≈27.982所引起。记 x = 27.982,δ=x −。则利用理论准确成立的递推式
y n = yn-1 – 783/ 100
Y n = Yn-1 – x / 100 (Y 0 = y 0) 和实际计算中递推式
两式相减,得
e ( Yn ) = Y n – yn = Yn-1 – y n-1 – ( x –
所以,有 783)/ 100
e ( Yn ) = e ( Yn-1) – δ / 100
利用上式求和
∑e (Y ) =∑e (Y n
n =1n =1100100n −1) −δ
化简,得
e ( Y100) = e ( Y0) – δ = δ
所以,计算y 100 的误差界为
ε(Y 100) ≤δ=0. 5×0. 001=5×10−4
6 求方程 x – 56x + 1 = 0的两个根,问要使它们具有四位有效数字,D=b −4ac 至少要取几位有效数字? 如果利用韦达定理,D 又应该取几位有效数字?
解:在方程中,a = 1,b = – 56,c = 1,故D=56−4≈55.96427,取七位有效数字。 1222
由求根公式
−b +2−4ac −56+55. 96427−0. 03573 ==x 1=2a 22
具有四位有效数字,而
−b −b 2−4ac −56−55. 96427−111. 96427 ==x 2=2a 22
则具有八位有效数字。
如果利用韦达定理,首先计算出x 2,利用
x 1=
212 =x 256+562−4计算,只需取D=56−4≈55.96四位有效数字即可保证方程的两个根均具有四位有效数
字。此时有,x 1=0.01786,x 2=55.98。
7 设s =12gt ,假定g 是准确的,而对t 的测量有±0.1秒的误差,证明当t 增加时s 的绝2
对误差增加,而相对误差减小。
e (t ) |≤0.1,所以,对这一问题,当t 增加证明 由于e (s ) = g t e(t ) ,e r (s ) = 2 e (t ) / t 。而 |
时s 的绝对误差增加,而相对误差减小。
8 序列{ y n }满足递推关系 y n = 10y n-1 – 1 (n = 1,2,……) 。若取 y 0 = ≈1.41(三位有效数字),按上述递推公式,从y 0计算到y 10时误差有多大?这个计算过程稳定吗? 解 取 x 0 = 1.41,记 e (x 0) = 1.41 –2。根据
x n = 10x n-1 – 1 (n = 1,2,……)
得
e (x n ) = 10e (x n-1) (n = 1,2,……,10)
所以
e (x 10) = 1010e (x 0) 10从y 0计算到y 10时误差估计为: |e (x 10)| = 10 |e (x 0)| ≤0.5×108。
这是一个数值不稳定的算法。
9 f (x ) =ln(x −x −1) ,求f (30) 的值,若开平方用六位函数表,问求对数时误差有多大?若改用另一等价公式 2
ln(x −x 2−1) =−ln(x +x 2−1)
计算,求对数时误差有多大?
解 令 y =x −x −1,则当 x=30时,y=30 – 29.9833=0.0167有三位有效数字,其相对误差为10-3。由第一题结论,求对数时误差为 10-3。
若改用等价公式,令z =x +x −1,则当x=30时,y=30 + 29.9833= 59.9833有六位有效数字,其相对误差为10-6。由第一题结论,求对数时误差为10-6。
10 已知有求和式22∑∑a b i
i =1j =1n i j
(1) 试统计需要用多少次乘法和加法才能计算出该和式的值;
(2) 为了减少计算工作量,将和式作等价变换,变换后需要多少次乘法和加法。 解 (1)所用乘法次数:1+2+3+……+n = n( n+ 1) / 2,
2
加法次数:[0+1+2+……+ (n – 1) ]+( n – 1) = ( n + 2 ) ( n – 1) / 2;
(2)将和式等价变形为:∑[a ∑b ] i j
i =1j =1n i
所用乘法为 n 次,加法次数不变,仍为( n + 2 ) ( n – 1) / 2。
,算法输出11 试构造一个算法,对输入的数据 x 0,x 1,x 2,……,x n ,以及x (均为实数)
为 ( x –x0) ( x –x1) ( x –x2) ……( x –xn ) 的计算结果。
解 算法如下:
第一步:输入x ;x 0,x 1,x 2,……,x n ,M Å (x – x0 ) ;k Å 0; 第二步:M Å M ×(x – x0 ) ;k Å k+1;
第三步:判断,若 k ≤ n ,则转第二步;否则输出M ,结束。 12 利用级数公式111=1−+−+L 可计算出无理数π 的近似值。由于交错级数的部4357
分和数列S n 在其极限值上下摆动,故截断误差将小于第一个被舍去的项的绝对值 | an+1|。试分析,为了得到级数的三位有效数字近似值,应取多少项求和。 解 由部分和
n π
S n =∑(−1) k −1
k =11 2k −1
知,截断误差满足
|S n −π
4|≤
显然,为了得到三位有效数字的近似值,绝对误差限应该为 0.0005 = 5×10-4。只需令 1 2n +1
151≤= 2n +1100002000
所以,当n ≥1000时,部分和至少有三位有效数字。
3