1、1. 计算 (n=0,1,2,)并估计误差。10nxnIed由分部积分可得计算 的递推公式nI(1)110,2e.xIde若计算出 ,代入(1)式,可逐次求出 的值。要0 12,I算出 就要先算出 ,若用泰勒多项式展开部分和I1e21()(),!k并取 k=7,用 4 位小数计算,则得 ,截断误差10.3679e.计算过程中小数点后第 5 位的数字按四舍1 471|0.369|08!Re五入原则舍入,由此产生的舍入误差这里先不讨论。当初值取为时,用(1)式递推的计算公式为00.2II,n=1,2 , 。01.632AnnI( )计算结果见表 1 的 列。用 近似 产生的误差 就是初值I0I00
2、0EI误差,它对后面计算结果是有影响的.表 1 计算结果n (用(A)算)I(用(A)算)*nIn (用(A)算 )I(用(A)*nI算)012345678910111213141516171819从表 1 中看到 出现负值,这与一切 相矛盾。实际上,由积分8I 0nI估值得(2)1111000(im)(max)xnneedIedn 因此,当 n 较大时,用 近似 显然是不正确的。这里计算公式与nn每步计算都是正确的,那么是什么原因合计算结果出现错误呢?主要就是初值 有误差 ,由此引起以后各步计算的误差0I00EI满足关系nnEI1,2,n.由此容易推得,0()!nE这说明 有误差 ,则 就是
3、 的 n!倍误差。例如,n=8 ,若0I0nI0,则 。这就说明 完全不能近似 了。它41|2E8|!|28I8I表明计算公式(A)是数值不稳定的。我们现在换一种计算方案。由(2)式取 n=9,得,190eI我们粗略取 ,然后将公式(1)倒过来算,1*9 9().68420I I即由 算出 , , ,公式为*9I*87I*0I*9*1.0684()(),nnIBI, , , 1;计算结果见表 1 的 列。我们发现 与 的误差不超过 。记*n*0I 40,则 , 比 缩小了 n!倍,因此,尽管 较大,*nnEI0|!E*0nE*9E但由于误差逐步缩小,故可用 近似 。反之,当用方案(A)计算I时,尽管初值 相当准确,由于误差传播是逐步扩大的,因而计算0I结果不可靠。此例说明,数值不稳定的算法是不能使用的。