数值与计算方法chapter1-2_第1页
数值与计算方法chapter1-2_第2页
数值与计算方法chapter1-2_第3页
数值与计算方法chapter1-2_第4页
数值与计算方法chapter1-2_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第一章第一章 绪论(二)绪论(二)有效数字有效数字数据误差的影响数据误差的影响误差危害的防止误差危害的防止小结小结21.5.3 有效数字有效数字*31.732050808x 2|1.73213|1.73211.732050808.|e1|1.733|1.731.732050808.|e 11.73x 取取3 3位数,位数, 21.7321x 取取5 5位数,位数,0.0020580. 0.000049191. 当准确值当准确值x*的位数比较多,或者有无限多位小数时,的位数比较多,或者有无限多位小数时,常常按常常按四舍五入四舍五入的原则得到的原则得到x*的前几位数值,如的前几位数值,如210.

2、510 420.510 3位有效数字位有效数字5位有效数字位有效数字10-210-431.5.3 有效数字有效数字如果近似值如果近似值 x 的的绝对误差限绝对误差限是其是其某一位某一位上的上的半个单位半个单位,从左边第,从左边第1位非零数字到该位位非零数字到该位一共有一共有 n 位,则称近似值位,则称近似值 x 有有n 位位有效数字有效数字。nx 位位误差不超过该位的半个单位误差不超过该位的半个单位自左向右看,第自左向右看,第1 1个非零数字个非零数字41.5.3 有效数字有效数字若取若取 x3 =1.7320 (注意注意:不是不是1.7321), 其误差限为其误差限为3|1.73203|1.

3、73201.732050808.|0.000050808.e 一般,按一般,按四舍五入四舍五入原则得到的近似值,其绝对误差原则得到的近似值,其绝对误差不会超过末位数的半个单位。即:四舍五入得到的不会超过末位数的半个单位。即:四舍五入得到的数字都属于数字都属于有效数字有效数字。只有只有4 4位有效数字位有效数字*31.732050808x 30.5 10 10-351.5.3 有效数字有效数字例例1-6:对下列各数写出具有对下列各数写出具有5 5位有效数字的近似值:位有效数字的近似值: 236.478, 0.00234711, 9.000024, 9.000034103解:从不为零的数开始,从左

4、到右取解:从不为零的数开始,从左到右取5 5位数,第位数,第6 6位位四舍五入。四舍五入。236.478: 0.0023471:9.000024:9.000034103:236.480.00234719.00009.0000 10361.5.3 有效数字有效数字若若x具有具有n位有效数字,则可以表示为位有效数字,则可以表示为1(1)1212(1010)10.10nmnmnxaaaa aa 11( )102m nxxx (1)11( )102nrxa 其绝对误差限满足:其绝对误差限满足:相对误差限满足:相对误差限满足:如何证明?如何证明?15=10na 71.5.3 有效数字有效数字例例1-7:

5、已知已知 的十进制浮点数第一位是的十进制浮点数第一位是4,要使近,要使近似值的相对误差限小于似值的相对误差限小于0.1%,浮点数的有效数字,浮点数的有效数字位数至少应为多少?位数至少应为多少?解:解:a1=4,利用利用(1)11|( )|102nrexa 20取取n4,有有 |er(x)| 0.12510-3 e(y) 2 re(r) , 若取若取 r = 50 cm, e(r)= 0.5 cm,则有则有er(r) = e(r)/r = 1% e(y)150 cm2, er(y)21%=2%例例1-10:圆面积计算时的误差估计圆面积计算时的误差估计.2( )2( )rrreyre rr 2(

6、)re r 191.6 误差危害的防止误差危害的防止 避免相近数相减避免相近数相减 避免用绝对值很小的数作除数避免用绝对值很小的数作除数 防止大数吃掉小数防止大数吃掉小数 简化计算步骤,减少运算次数简化计算步骤,减少运算次数 使用数值稳定的算法使用数值稳定的算法201.6 误差危害的防止误差危害的防止 避免相近数相减避免相近数相减 避免用绝对值很小的数作除数避免用绝对值很小的数作除数 防止大数吃掉小数防止大数吃掉小数 简化计算步骤,减少运算次数简化计算步骤,减少运算次数 使用数值稳定的算法使用数值稳定的算法211.6.1 避免相近数相减避免相近数相减两数差的相对误差关系式两数差的相对误差关系式

7、1212121212()()()rrrxxexxexexxxxx若若x1和和x2相近,则相近,则112xxx 212xxx 或或的绝对值很大,造成的绝对值很大,造成12|()|rexx 很大。很大。22例例1-11:求求x2-16x+1=0的小正根(计算过程中保留的小正根(计算过程中保留3位有效数字)。位有效数字)。解:解:*1863,x *228638.007.940.06xx x2只有只有1位有效数字。若要得到位有效数字。若要得到3位有效数字,中间位有效数字,中间过程必须增加精度。过程必须增加精度。设保留设保留5位有效数字:位有效数字:*2863x x2有有3位有效数字。位有效数字。1.6

8、.1 避免相近数相减避免相近数相减*228638.00007.93730.0627xx若不若不增加中间过程的精度增加中间过程的精度,而是改变,而是改变算法:算法:1863 210.062715.94x 23例例1-12: 计算计算 A=107(1-cos2)。由于由于cos2=0.9994, 直接计算直接计算 A=107(1-cos2)= 107(1-0.9994)=6 103若利用若利用21cos2sin2xxA=107(1-cos2)= 2 ( sin1)2 107 =6.090 103 4 4位有效数字位有效数字1位有效数字位有效数字1.6.1 避免相近数相减避免相近数相减sin1 =0

9、.01745 1.6.1 避免相近数相减避免相近数相减24例例1-13: 计算计算 。20011999 解:设解:设 ,它们有,它们有6位有效位有效数字的近似数为:数字的近似数为:x1= 44.7325, x2 = 44.7102.*122001,1999xx *1212-44.7325-44.7102=0.0223xxxx 解法一:解法一:解法二:解法二:*12*122-=+x xxx122244.7325+44.7102+xx =0.0223606845.0.0223607 25分析精度:分析精度:1212| (-) | | ()-e() |e xxe xx 1.6.1 避免相近数相减避免

10、相近数相减12*2121222| ()| |(+)|+(+)ee xxxxxx 12| ()| | () |e xe x 444311110101010222 122122| ()+e()|(+)e xxxx 122122| ()+e()|(+)e xxxx 7710.25 10102两相近数相减:两相近数相减:计算两相近数相加的倒数:计算两相近数相加的倒数:26 改变计算公式可以避免或减少有效数字的损失改变计算公式可以避免或减少有效数字的损失 如果如果x1和和x2很接近,则很接近,则1122lglglgxxxx 当当x很大,则很大,则111xxxx1.6.1 避免相近数相减避免相近数相减27

11、一般地,当一般地,当 ,可利用泰勒展开式,可利用泰勒展开式*( )()f xf x * 2()( )()()()()2fxf xf xfxxxxx取右端的有限项近似左端。取右端的有限项近似左端。若无法改变算式时:若无法改变算式时:则应增加有效数字位数;则应增加有效数字位数;在计算机上则采用双倍字长计算在计算机上则采用双倍字长计算(缺点:缺点: 增加增加机器计算时间、增加内存占用机器计算时间、增加内存占用)1.6.1 避免相近数相减避免相近数相减281.6 误差危害的防止误差危害的防止 避免相近数相减避免相近数相减 避免绝对值很小的数作除数避免绝对值很小的数作除数 防止大数吃掉小数防止大数吃掉小

12、数 简化计算步骤,减少运算次数简化计算步骤,减少运算次数 使用数值稳定的算法使用数值稳定的算法291.6.2 避免绝对值小的数作除数避免绝对值小的数作除数由由121122()()()e x xx e xx e x当当x1或或x2的绝对值很大时,的绝对值很大时,|e(x1x2)|可能很大。可能很大。应尽量避免用绝对值很小的数作除数,或用绝对应尽量避免用绝对值很小的数作除数,或用绝对值很大的数作乘数。值很大的数作乘数。由由1112222221()()(),0 xxee xe xxxxx当当x2的绝对值很小时,的绝对值很小时,|e(x1/x2)|可能很大。可能很大。30机器上用很小的数作除数时,可能

13、会因为数据溢机器上用很小的数作除数时,可能会因为数据溢出而造成停机;出而造成停机;很小的数作除数,若除数有少量误差,会造成结很小的数作除数,若除数有少量误差,会造成结果出现很大误差。果出现很大误差。计算时既要避免两个相近的数相减,更要避免用计算时既要避免两个相近的数相减,更要避免用相减之后的差作除数。相减之后的差作除数。2.71822718.20.001 0.00112471.11.6.2 避免绝对值小的数作除数避免绝对值小的数作除数311.6 误差危害的防止误差危害的防止 避免相近数相减避免相近数相减 避免用绝对值很小的数作除数避免用绝对值很小的数作除数 防止大数吃掉小数防止大数吃掉小数 简

14、化计算步骤,减少运算次数简化计算步骤,减少运算次数 使用数值稳定的算法使用数值稳定的算法321.6.3 防止大数吃掉小数防止大数吃掉小数a = 109,b = 9,设想在,设想在8位浮点数系中相加位浮点数系中相加a + b =0.100000001010+ 0. 9000000010-1 = 0.100000001010+0.0000000009 1010 = 0.100000001010 由于只保留由于只保留8位有效数,数据位有效数,数据09被舍去被舍去,实际加法操实际加法操作作 a + b计算结果是计算结果是 将将 a 的值作为计算结果赋给的值作为计算结果赋给 a+ b.多个数相加,应按绝

15、对值从小到大的顺序依次进行,多个数相加,应按绝对值从小到大的顺序依次进行,以避免被大数吃掉。以避免被大数吃掉。33例例1-13:计算:计算0.4994+1000+0.0006000+0.4090,保留保留4位有效数字。位有效数字。解:解: 0.4994+10001000 1000+0.00060001000 1000+0.4090 10001.6.3 防止大数吃掉小数防止大数吃掉小数34改变顺序:改变顺序:0.4994+0.0006000 0.50000.5000+0.4090 0.90900.9090+1000 10011.6.3 防止大数吃掉小数防止大数吃掉小数351.6 误差危害的防止误

16、差危害的防止 避免相近数相减避免相近数相减 避免用绝对值很小的数作除数避免用绝对值很小的数作除数 防止大数吃掉小数防止大数吃掉小数 简化计算步骤,减少运算次数简化计算步骤,减少运算次数 使用数值稳定的算法使用数值稳定的算法361.6.4 减少运算次数减少运算次数例例1-14: 计算计算x31的值。的值。方法一:将方法一:将x的值逐个相乘,共需的值逐个相乘,共需30次乘法。次乘法。方法二:方法二: x31= x x2 x4 x8 x16而而 x2 = x x ,x4 = x2 x2,x8 = x4 x4 ,x16 = x8 x8 共共8次乘法。次乘法。37例例1-3: 对给定的对给定的x,求多项

17、式,求多项式1011( )nnnnP xa xa xaxa ( )P x(1)2n n 方法一:方法一: 的值。的值。直接计算直接计算的每一项,再逐项求和的每一项,再逐项求和 。 乘法次数:乘法次数:1.6.4 减少运算次数减少运算次数38方法二:方法二: 0121( )()nnP xa xaxaxaxa 1011( )nnnnP xa xa xaxa n乘法次数:乘法次数: n,加法次数:,加法次数:0b2b1bnb1.6.4 减少运算次数减少运算次数练习:请写出此算法的递推公式。练习:请写出此算法的递推公式。39100,1,2,kkkbbxaknba 秦九韶算法秦九韶算法( )nP xb

18、1.6.4 减少运算次数减少运算次数编程计算:编程计算:递推公式递推公式40求多项式值的秦九韶算法求多项式值的秦九韶算法P(x)=a0 xn + a1xn-1 + + an-1 x+ an输入输入 x;a0,a1,an b an;u1k 从从 n到到 1循环循环uxubb+ak-1 u输出数据输出数据b ;结束;结束输入输入 x;a0,a1,an b a0k 从从 1到到 n循环循环bak+ xb输出数据输出数据b ;结束;结束秦九韶算法秦九韶算法41求多项式值的秦九韶算法求多项式值的秦九韶算法a0a1a2an-1anx=x0b0 x0b1x0bn-2x0bn-1x0b0b1b2bn-1bn例

19、例1-15: 求求 f(x)=2+x-x2+3x4 在在x0=2 的值。的值。30-112x0=2612224636112348=f(x0)=f(2)421.6 误差危害的防止误差危害的防止 避免相近数相减避免相近数相减 避免用绝对值很小的数作除数避免用绝对值很小的数作除数 防止大数吃掉小数防止大数吃掉小数 简化计算步骤,减少运算次数简化计算步骤,减少运算次数 使用数值稳定的算法使用数值稳定的算法1.6.5 使用数值稳定的算法使用数值稳定的算法例例1-16: : 建立积分建立积分 的递推关的递推关系式。系式。 10,0,1,.,205nnxIdx nx 解:因为解:因为11111000110005155ln6ln555nnnnnxxIIdxxdxxnxdxIdxxx 115,1,2,.,20nnIInn 0ln6ln5I 递推关系式:递推关系式:初始值:初始值:-11-1055,1,2,.,205nnxIdxnx (1)1.6.5 使用数值稳定的算法使用数值稳定的算法计算计算I0时的舍入误差设为时的舍入误差设为e0,且求得的且求得的I0的近

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论