在数值运算中,每步都可能产生误差,我们不可能(也不必要)步步进行分析.下面仅从误差的某些传播规律和计算机字长有限的特点出发,指出在数值运算中必须注意的几个原则,以提高计算结果的可靠性
1. 选用数值稳定性好的算法
计算机虽然具有极高的运算速度,但它只能根据人们设定的指令,完成加、减、乘、除等基本运算.因此,要使用计算机求解各种数学问题,必须把求解过程归结为按一定规则进行的一系列基本运算.由基本运算区规定的运算顺序所构成的完整的解题方案,称为数值算法,简称算对同一数学问题,为了求得其解,往往可以设计出多种不同的算法.而不同的算法,在执行过程中引入的舍人误差以及舍人误差的积累情况,也往往是不相同的。我们把运算过程中舍人误差对结果影响不大的算法称为稳定的算法,影响严重的算法称为不稳定的算法•
在研究算法的稳定性时,要考忠每一步舍人误差的影响及其相互的作用是非常烦琐的.一种简便的方法是:假定初值有误差60,中间不再产生新误差,考察由 60 引起的误差积累是否增长.如不增长就认为是稳定的,如严重增长就认为不稳定•如在例2中利用递推关系式(1.1)求积分值 1.(n=1,2,⋯)的算法,是
一种不稳定的算法•因为若1。的近似值1。 有误差60,由此引起!,的近似值工°的误差为
它将随着几增大而迅速增大,导致当几较大时计算结果严重失真• 若将递推式(1.1)改写成
就可获得一个稳定的算法.事实上,若工,的近似值1,有误差6.,则由此引起 Ir的近似值 工,的误差为
这表明近似值工”的误差绝对值比[”的误差绝对值缩小了.因此,只要在选定 N后,对L提供一个较粗糙的近似值工,利用递推关系式(1.10),可得越来越精确的近似值 Ia1,Ii-2,10
相近两数避免相减
由二元函数的误差分析规律式。
绝对值相对大小的数不宜做除数
由二元函数的误差传播规律式,可得两近似之商
警惕大数吃掉小数造成的危害
由于计算机的字长有限,对绝对值大小悬殊的两数进行运算时。很可能出现大数吃掉小数的现象,从而影响结果的可靠性。
4.简化计算步骤,减少运算次数
减少运算次数,即可提高解题效率,节省计算时间,又有可能是计算中误差的积累减少。因此,他不但是数值计算中必须注意的基本原则,也是数值计算方法要研究的重要的内容之一。
5.防止溢出
反思:
学到了什么?
新思路:
不等式变换的公式:提供了一条新的思路
犯了什么错误?
本人在做这道题目时候思路是构建下式子:
这个思路是错的,也没有继续把ab化简的必要