习题一
1
1.设x>0相对误差为2%,求x,x4的相对误差。 解:由自变量的误差对函数值引起误差的公式:
?(f(x))??(f(x))f(x)?xf(x)f'(x)?(x)得
(1)f(x)?x时
?(x)?x1x(x)'?(x)?12?(x)?2*2%?1%;
(2)f(x)?x4时 ?(x4)?x4x4(x)'?(x)?4?(x)?4*2%?8%
2.设下面各数都是经过四舍五入得到的近似数,即误差不超过最后一位的半个单位,试指出他们各有几位有效数字。
(1)x??12.1;(2)x??12.10;(3)x??12.100。 解:由教材P9关于?x??a1a2?am.b1b2?bn?型数的有效数字的结论,易得上面三个数的有效数字位数分别为: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 ?fl(fl(0.3197?102?0.2456?101)?0.1352) =fl(0.3443?102?0.1352)
=0.3457?102
(2)31.97+(2.456+0.1352)
?fl(0.3197?102?fl(0.2456?101)) = fl(0.3197?102?0.2591?101) =0.3456?102
易见31.97+2.456+0.1352=0.345612?102,故(2)的计算结果较精确。
2
4.计算正方形面积时,若要求面积的允许相对误差为1%,测量边长所允许的相对误差限为多少?
解:设该正方形的边长为x,面积为f(x)?x2,由?(f(x))??(f(x))xf(x)?f(x)f'(x)?(x)
解得?(x)??(f(x))f(x)?(f(x))x2))xf'(x)=
x?2x??(f(x2=0.5%
5.下面计算y的公式哪个算得准确些?为什么?
(1)已知x??1,(A)y?1?1?x1?2x1?x,(B)y?2x2;
(1?2x)(1?x)(2)已知x??1,(A)y?2,(B)y?x?1?x?1xx;
x(x?1x?x?1x)(3)已知x??1,(A)y?2sin2xx,(B)y?1?cos2xx;
(4)(A)y?9?80,(B)y?1 9?80解:当两个同(异)号相近数相减(加)时,相对误差可能很大,会严重丧失有效数字;当两个数相乘(除)时,大因子(小除数)可能使积(商)的绝对值误差增大许多。故在设计算法时应尽量避免上述情况发生。
(1)(A)中两个相近数相减,而(B)中避免了这种情况。故(B)算得准确些。 (2)(B)中两个相近数相减,而(A)中避免了这种情况。故(A)算得准确些。 (3)(A)中sin2x使得误差增大,而(B)中避免了这种情况发生。故(B)算得准确些。 (4)(A)中两个相近数相减,而(B)中避免了这种情况。故(B)算得准确些。
6.用消元法求解线性代数方程组 ?x15?1?10x2?1015?x1?x 2?2假定使用十进制三位浮点数计算,问结果是否可靠? 解:使用十进制三位浮点数计算该方程则方程组变为
??0.100?101x16161?0.100?10x2?0.100?10????(1)???0.100?101 x1x11?0.100?102?0.200?10?????(2)(1)(-2)得10.10?10.6110x2??61,即x2?10.10?1,把x2的值代入(1)得x1?00.;
3
把x2的值代入(2)得x1?0.100?101
解??x1?0.100?101?1??x1?0.100?10??x2?0.000?101不满足(2)式,解???x2?0.100?101不满足(1)式,故在十进制三位浮
点数解该方程用消元法计算结果不可靠。
7.计算函数f(x)?x3?3x2?3x?1和g(x)?((x?3)x?3)x?1在x?2.19处的函数值(采用十进制三位浮点数计算)。哪个结果较正确?
解:f(2.19)?0.480?101?0.219?101?3?0.480?101?0.657?101?1 ?0.105?102?0.144?102?0.657?101?1 =0.167?101
g(2.19)?((?0.81)?0.219?101?3)?0.219?101?1
?0.123?101?0.219?101?1=0.169?101
即f(x)?0.167?101,g(x)?0.169?101
而当x?2.19时x3?3x2?3x?1的精确值为1.6852,故g(x)的算法较正确。
8.按照公式计算下面的和值(取十进制三位浮点数计算):
61(1)?1;(2)。
i?13i?1i?63i6解:(1)?111111?0.012?0.004?0.001
i?13i?3?32?33?34?135?36=0.333?0.111?0.037
?0.489
1 (2)?11110.001?0.004?0.012?0.037?0.111?0.3333i?136?135?34?
i?633?132?3=
?0.489
9.已知三角形面积S?12absinC,其中0?C??2。
证明:?(S)??(a)??(b)??(C)。 证
明
:
由
自
变量的误差对函数值的影响公式:
n?(f(x,xxi(x1,x2,?,xn)1,x2,?n))???f得
i?1f(x1,x2,?,x?xxi)。 n)?(i?(S(a,b,C))?a?S(a,b,C)?S(a,b,C)?S(a,b,C)S(a,b,C)?a?(a)?bS(a,b,C)?b?(b)?CS(a,b,C)?C?(C)
4
?(S)?aabsinC?bsinC??(a)?babsinC?asinC??(b)?CabsinC?abcosC??(C)
=?(a)??(b)?CtgC?(C)
??(a)??(b)??(C)
(当0?C??2时,C?tgC),命题得证。
习题二
5
1.找出下列方程在x?0附近的含根区间。 (1)x?cosx?0;(2)3x?cosx?0; (3)sin(x)?e?x?0;(4)x2?e?x?0; 解:(1)设f(x)?x?cosx,则f(0)1?,f(?1)?-0.4597,
由f(x)的连续性知在x???1,0?内,f(x)=0有根。
同题(1)的方法可得:(2),(3),(4)的零点附近的含根区间分别为?0,1?;????0,;0,1?2???
?
2.用二分法求方程xsinx?1?0在?0,2?内的根的近似值并分析误差。 解
:
令
f(x?)xs?ix,则有f(0?)??1,f(2)?0.8186?0,
f'(x)?sinx?xcosx?0,x??0,2?
所以函数f(x)在?0,2?上严格单调增且有唯一实根x?。 本题中求根使得误差不超过10?4,则由误差估计式
|??xb?a?4k|?.28便可,因此取k?14。
2k?1,所需迭代次数k满足
2?02k?1?10,即取k?13用二分法计算结果列表如下:
k ak bk xk f(xk) 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