在数值计算时应注意的几个问题_第1页
在数值计算时应注意的几个问题_第2页
在数值计算时应注意的几个问题_第3页
在数值计算时应注意的几个问题_第4页
在数值计算时应注意的几个问题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、5 在数值计算时应注意的几个问题在数值计算时应注意的几个问题 顺序:基本运算顺序顺序:基本运算顺序一、减少运算次数一、减少运算次数 不仅能提高计算精度,而且能减少误差的积累不仅能提高计算精度,而且能减少误差的积累1、对同一种算法(计算方式),要选用计算量少的运算次序、对同一种算法(计算方式),要选用计算量少的运算次序例如例如),(dcbaadacab dcxbxax 23精度(数值稳定性)精度(数值稳定性).运算方案能否控制误差的传播和积累以保证计算结果有足够的运算方案能否控制误差的传播和积累以保证计算结果有足够的 一般标准一般标准运算次数的多少(计算效率);运算次数的多少(计算效率);运算过

2、程是否规律(易编程);运算过程是否规律(易编程);需要记录的中间结果的多少(储存量);需要记录的中间结果的多少(储存量); ,)(dxcxbax 精度(数值稳定性)精度(数值稳定性).运算方案能否控制误差的传播和积累以保证计算结果有足够的运算方案能否控制误差的传播和积累以保证计算结果有足够的运算次数的多少(计算效率);运算次数的多少(计算效率); 例例1的的值值。计计算算多多项项式式0111)(axaxaxaxpnnnnn 次次乘乘法法,需需作作计计算算nxann;2)1(12)1()( nnnnxpn的的值值需需作作乘乘法法次次数数:计计算算.n加加法法次次数数:(b) 利用秦九韶算法:利用

3、秦九韶算法:(a) 直接计算每一项再求和:直接计算每一项再求和: ).(,;)(1 , 2 , 1,11nnkkkknnnaxSSaSxp的的递递推推公公式式:计计算算 解:解:),(0 xpSn 则则次次加加法法。次次乘乘法法的的值值只只需需作作计计算算nnxpn)(011)()(aaaxaxxxxpnnn 例例2阶阶单单位位方方阵阵。试试求求是是维维向向量量均均为为和和已已知知nInxuu,21 解:解:,)(2)2(22221uxuxxuuIyTT .)(2)2(1111111uyuyyuuIyTT (a) 作矩阵和向量的乘法:作矩阵和向量的乘法:略略.(b) 作向量的内积和加法:作向量

4、的内积和加法:计算次数少计算次数少过程规律过程规律xuuIuuIyTT)2)(2(2211 乘除法乘除法: kn乘除法乘除法: kn22、对于不同的算法,要注意收敛速度,讲效率、对于不同的算法,要注意收敛速度,讲效率 例例3 计算计算 ln2 的近似值,要求误差小于的近似值,要求误差小于10 . 解:解:,1)1(211Sln211nnxn ,则得,则得取取,10112ln7 nSn误误差差. 1107 n 计算量太大;计算量太大; 各项的舍入误差会损失和的有效数字各项的舍入误差会损失和的有效数字 (b) 用级数用级数 来计算来计算)1()1231(211ln22 xmxxxxxm,)31(1

5、21)31(51)31(31132ln231242 mmx,则则取取,)31(171)31(51)31(31132ln216428 S用前用前 9 项(即取项(即取 m = 8)计算就能达到精度要求计算就能达到精度要求:.102ln78 S即即舍入误差舍入误差(a) 用级数用级数 来计算来计算)1 , 1() 1(321)ln(1132 xnxxxxnn结果不可靠,计算失败结果不可靠,计算失败否则,则称这个算法是否则,则称这个算法是数值不稳定的数值不稳定的。二、二、 数值计算中要构造和使用数值计算中要构造和使用数值稳定数值稳定的计算方法的计算方法算法是数值稳定的算法是数值稳定的 计算结果受计算

6、过程中舍入误差影响较小时。计算结果受计算过程中舍入误差影响较小时。1、注意、注意计算机数系计算机数系运算特点运算特点有理数的有限数集,即浮点集有理数的有限数集,即浮点集例例4 讨论在计算机数系中分别用公式讨论在计算机数系中分别用公式同同。中中点点时时所所得得结结果果是是否否相相求求和和,2221baabambam 解:解:无误差时,必相等;无误差时,必相等;有舍入误差时,可能不相等,有舍入误差时,可能不相等,算算时时,结结果果如如下下:用用四四位位有有效效数数字字进进行行计计若若,355. 8,243. 5 ba a b m m 准确值准确值 5.243 5.243 8.3558.355 6.

7、8001.556 6.7991.557 6.7991.5566.799-1.556,2,1 ,010),(21 nnnxaxxa,由由公公式式为为已已知知数数,对对任任意意数数设设 解解:)(211axaxnn 由由递递推推公公式式得得).()21(011axaxnn 在实数集上,在实数集上,;0axaxn严严格格单单调调趋趋于于只只要要 取取4位有效数字近似计算位有效数字近似计算:,680. 5,680. 5,686. 5:nx非严格单调序列非严格单调序列且极限也不等于且极限也不等于a4位有效数字舍入运算:位有效数字舍入运算:1234+0.4+0.3+0.2+0.1=12340.4+0.3+

8、0.2+0.1+1234=1235若出现若出现“溢出溢出”应立即中应立即中断断应避免出现应避免出现“大数吃小数大数吃小数” 事先预防事先预防 事后解决事后解决 例例7.)(2122ba 求求解解:,则则设设,maxbac .)()()(21222122 cbcacba可防溢出可防溢出精确运算精确运算:例例6686. 5,678. 50 xa如如取取试试研研究究此此序序列列的的极极限限。所所得得的的序序列列为为.nx 例例52、防止两接近的数相减、防止两接近的数相减.01182 xx例例8 求下列方程的根求下列方程的根解解:.809,80921 xx用用 8 位浮点数位浮点数 (有效数字有效数字

9、)计算计算1089442719. 080 .1055728091. 0,1017944272. 01221 xx用用 4 位浮数点位浮数点(有效数字有效数字)计算计算108944. 080 .105600. 0,101794. 01221 xx两接近数相减两接近数相减损失了有效数字损失了有效数字数值不稳定的方法数值不稳定的方法121xx 改改用用公公式式.105574. 080911 仍用仍用4 位浮点数计算位浮点数计算数值稳定数值稳定的方法的方法减法本身完全正确减法本身完全正确误差传播的研究十分重要误差传播的研究十分重要 是因为求是因为求 的误差的误差(并不大并不大),进行减法后导致不应忽视

10、的后果进行减法后导致不应忽视的后果 80 xxxx 一一般般地地:| | x|时时, 计算计算结果结果的误差较小的误差较小准确准确逆向递推公式逆向递推公式 例例9 当当 n = 0,1,2, ,8 时时,求积分求积分 的近似值的近似值.105dxxxynn 用递推关系进行计算时必须注意误差的积累用递推关系进行计算时必须注意误差的积累.见本章见本章2 例例1 解:解:ndxxdxxxxyynnnnn1555101011 .511 nnyny5ln6ln5100 xdxy).3(182. 0位位留留保保 .516. 0541,083. 0531,05. 0521,09. 05134231201 y

11、yyyyyyy错误的原因?错误的原因?将将 的误差扩大到的误差扩大到5 5倍。倍。:递推公式递推公式151 nnyny1 ny 的的绝绝对对误误差差限限若若0y.5,5,5,5,4324321 的的绝绝对对误误差差限限yyyy1823216. 00 y1875. 00135444 的的绝绝对对误误差差限限y4013 其其绝绝对对误误差差限限,51511nnyny 改改用用:.0),(0jinyyijNny 且且的的误误差差影影响响小小。时时,递递推推求求nnyy1 3、设法控制误差的传播、设法控制误差的传播 逆向递推公式:逆向递推公式:知知由由nnyny51511 nyn的近似值:的近似值:由

12、此求由此求9y017. 06011015)1(999109 yyyyy由由递递推推公公式式设设020. 05010)2(910 yy由递推公式由递推公式设设,182.0551,088.05101,058.05151,043.05201,034.05251,028.05301,025.05351,021.05401,019.05451102132435465768798 yyyyyyyyyyyyyyyyyy的的微微小小误误差差)(, 2 , 1njjx 引起引起A 的很大误差的很大误差 604751413112134131216113121321321321 xxxxxxxxx例例10 设有方程

13、组设有方程组是是其其准准确确解解。1321 xxx将系数舍入成将系数舍入成 2 位浮点数位浮点数, 则方程为则方程为 78. 020. 025. 033. 01 . 125. 033. 050. 08 . 133. 050. 0321321321 xxxxxxxxx例例11 . 1)0()0(, 0 yyyy,xey 其其解解. 0y ,时时当当 x,0 有有微微小小误误差差若若 y时时即即初初值值为为1)0(,1)0( yy ,)21(2)(xxeexy .y ,时时当当 x三、计算过程中应十分小心处理三、计算过程中应十分小心处理病态的数学问题病态的数学问题病态问题一般要用高精度病态问题一般要用高精度(双精度双精度)计算或解病态问题的方法解决计

温馨提示

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

评论

0/150

提交评论