算的,防止了大数吃小数,计算更精确。精确计算得:
xyz023371258×104033678429×102033677811×1020000023371258000336784293367781100033912141583367781133674419785842033674419785842×102
显然,也是第一种算法求出的结果和精确结果更接近。7、某计算机的机器数系为F102LU,用浮点运算分别从左到右计算及从右到左计算
1040302004003002001试比较所得结果。
解:从左到右计算得
104030200400300200101×10004×10003×10002×10000×10000×10000×10000×10019×1019
从右到左计算得1040302004003002001
001002003004020304101×10102×10103×10104×101020304101020304101×10101×1001×1002×102从右到左计算避免了大数吃小数,比从左到右计算精确。
8、对于有效数x13105x20001x30100,估计下列算式的相对误差限
6
fy1x1x2x3y2x1x2x3y3
x2x3
分析:求和差的相对误差限采取先求出和差的绝对误差限再求相对误差限的方法。求积商的相对误差限采取先求每一个数的相对误差限再求和的方法。解:因为x13105x20001x30100都是有效数,所以εx100005εx200005εx300005
δx1
000050000500005016δx250δx305310500010100
则εx1x2x3εx1εx2εx300005000050000500015
δx1x2x3
εx1x2x3
x1x2x3
0001500015≈499×1040053004310500010100
δx1x2x3δx1δx2δx301650055066
δ
x2δx2δx35005505x3
指出如果简单地用有效数字与误差的关系计算则不够精确。注意是相对误差限的讨论。符号要正确,商的误差限是误差限的和而不是差。9、试改变下列表达式,使其计算结果比较精确(其中x接近0,x
1表示x充分
1表示x充分大)。
1l
x1l
x2x1≈x2;2
11xx1x1x1;
3x4
11xxxx
1;
11。
1cosxx≠0且xx15cotxx≠0且xx
7
f分析:根据算法设计的原则进行变形即可。当没有简单有效的方法时就采用泰勒展开的方法。解:1l
x1l
x2l
211x1x1x21x1x1x1x1x12xx23xx21x1x1x1x3
x11xxxx21x21xx
x1;x2
;
x21x21x2xx21x21
r