数值分析1-3.ppt
《数值分析1-3.ppt》由会员分享,可在线阅读,更多相关《数值分析1-3.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3误差定误差定性分析性分析与避免与避免误差危误差危害害一、算法的数值稳定性概念一、算法的数值稳定性概念二、设计算法的若干原则二、设计算法的若干原则1.定义:算法定义:算法 所谓所谓算法算法,是指对一些数据按某种,是指对一些数据按某种规定的顺序进行的运算序列。规定的顺序进行的运算序列。一、算法的数值稳定性概念一、算法的数值稳定性概念 对同一问题,选用不同的算法,所对同一问题,选用不同的算法,所得结果的精度往往大不相同。得结果的精度往往大不相同。请看下例请看下例例例:用四位有效数字计算如下:用四位有效数字计算如下y的值的值解解:y的精确值是的精确值是0.0158074374,算法算法1:直接计算,
2、则:直接计算,则 结果只有一位有效数字,其相对误结果只有一位有效数字,其相对误差大于差大于26%。算法算法2:作适当变形后计算作适当变形后计算结果具有四位有效数字,其相对误差结果具有四位有效数字,其相对误差不超过不超过0.02%。2.定义:数值稳定性定义:数值稳定性初初始始数数据据的的误误差差或或计计算算中中的的舍舍入入误误差差在在计计算算过过程程中中的的传传播播,因因算算法法不不同同而而异异。一一个个算算法法,如如果果计计算算结结果果受受误误差差的的影影响响小小,就就称称该该算算法法具具有有较较好好的的数数值稳定性值稳定性二、设计算法的若干原则二、设计算法的若干原则(一一)要避免相近两数相减
3、要避免相近两数相减例:例:a1=0.12345,a2=0.12346,各有各有5位有位有效数字。效数字。而而 a2 a1=0.00001,只剩下只剩下1位有效数位有效数字。字。|很小,很小,几种经验性避免方法:几种经验性避免方法:很小,很小,(二二)要防止大数要防止大数“吃掉吃掉”小数,注意小数,注意保护重要数据保护重要数据例:例:用单精度计算用单精度计算 的根。的根。精确解为精确解为 算法算法1 1:利用求根公式利用求根公式在计算机内,在计算机内,109存为存为0.1 1010,1存为存为0.1 101。做加法时,做加法时,两加数的指数先向大指数对齐,再将浮点部分相加。即两加数的指数先向大指
4、数对齐,再将浮点部分相加。即1 的指数部分须变为的指数部分须变为1010,则:,则:1=0.0000000001 1010,取,取单精度时就成为:单精度时就成为:109+1=0.10000000 1010+0.00000000 1010=0.10000000 1010大数吃小数大数吃小数?算法算法2:先解出:先解出 再利用再利用注:注:求和时从小到大相加,可使和的误差减小。求和时从小到大相加,可使和的误差减小。例例:在:在5位浮点十进制计算机上,计位浮点十进制计算机上,计算算y=54 321+0.4+0.3+0.4解解:若按从左到右的顺序进行计算,:若按从左到右的顺序进行计算,后三位在对阶过程
5、变为后三位在对阶过程变为 后三个数都在对阶过程中变为零,后三个数都在对阶过程中变为零,得出含有较大误差的结果得出含有较大误差的结果 y=54321。但若按从右到左的顺序进行计算但若按从右到左的顺序进行计算,后三位在对阶过程变为后三位在对阶过程变为 这种算法避免了大数这种算法避免了大数“吃掉吃掉”小数!小数!一般地,有如下原则一般地,有如下原则 若干数相加,采用绝对值较小者若干数相加,采用绝对值较小者先加的算法,结果的相对误差限较先加的算法,结果的相对误差限较小小(三三)注意简化计算步骤,减少运算次注意简化计算步骤,减少运算次数,避免误差积累数,避免误差积累例例:计算多项式的值:计算多项式的值解
6、解:如果先计算各项然后相加,则:如果先计算各项然后相加,则乘法次数乘法次数=4+3+2+1=10,加法次数,加法次数=4但如但如改用下式计算改用下式计算 则只需做则只需做4次乘法和次乘法和4次加法。计次加法。计算量大大减少!算量大大减少!秦九韶算法是中国秦九韶算法是中国南宋南宋时期的数学家时期的数学家秦九韶秦九韶提提出的一种出的一种多项式多项式简化简化算法算法。在西方被称作。在西方被称作霍纳霍纳算法算法(Horner algorithm或或Horner scheme),),是以是以英国数学家威廉英国数学家威廉乔治乔治霍纳霍纳命名的命名的.秦九韶作于秦九韶作于1240年的数书九章已经运用十年的数
7、书九章已经运用十进制和零,领先于英国数学家威廉进制和零,领先于英国数学家威廉乔治乔治霍纳霍纳(William George Horner)于于1819年发表的解高年发表的解高次代数方程的方法。次代数方程的方法。注:注:第二种方法称为第二种方法称为“秦九韶算法秦九韶算法”通常,计算如下通常,计算如下n次多项式的值次多项式的值如果先计算各项然后相加,则如果先计算各项然后相加,则 乘法次数乘法次数=n+(n-1)+2+1 =n(n+1)/2 加法次数加法次数=n若采用若采用“秦九韶算法秦九韶算法”,则,则 乘法次数乘法次数=n 加法次数加法次数=n两两种种算算法法的的乘乘法法运运算算次次数数随随n的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析
限制150内