数值计算课后答案1_第1页
数值计算课后答案1_第2页
数值计算课后答案1_第3页
数值计算课后答案1_第4页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、习题一解答1取 3.14 ,3.15 , 22 , 355 作为的近似值,求各自的绝对误差,相对7113误差和有效数字的位数。分析:求绝对误差的方法是按定义直接计算。求相对误差的一般方法是先求出绝对误差再按定义式计算。注意,不应先求相对误差再求绝对误差。有效数字位数可以根据定义来求, 即先由绝对误差确定近似数的绝对误差不超过那一位的半个单位,再确定有效数的末位是哪一位,进一步确定有效数字和有效数位。有了定理 2 后,可以根据定理2 更规地解答。根据定理 2,首先要将数值转化为科学记数形式,然后解答。解:( 1)绝对误差 :e(x)= 3.14 3.14159265 3.14 0.00159 0

2、.0016 。相对误差:er ( x)e(x)0.00160.51 10 3x3.14有效数字:因为 3.14159265=0.314159265 × 10,3.14 0.314 ×10, m=1。而 3.14 3.14159265 3.14 0.00159所以 3.14 0.00159 0.005=0.5 ×102 1 10 21101 322所以, 3.14 作为的近似值有3 个有效数字。( 2)绝对误差 :e(x)= 3.15 3.14159265 3.14 0.008407 0.0085 。相对误差:er ( x)e(x)0.00850.27 10 2x3

3、.15有效数字:因为 3.14159265=0.314159265 × 10,3.15 0.315 ×10, m=1。而 3.15 3.14159265 3.15 0.008407所以 3.15 0.008407 0.05=0.5 × 10 1 110 11101 222所以, 3.15作为的近似值有2 个有效数字。( 3)绝对误差 :e(x)223.14159265L3.1428571430.001264493L0.00137相对误差:er ( x)e(x)0.00130.41 10 3x227有效数字:因为 3.14159265=0.314159265 

4、15; 10,22,m=1。3.142857143 0.3142857143 10722而3.14159265 L 3.142857143 0.001264493 L 7所以223.14159265L3.142857143 0.001264493 L 0.00570.510 2110 21101 322所以, 22 作为的近似值有3 个有效数字。7( 4)绝对误差 :e(x)3553.14159265 L3.141592920.0000002705L0.000000271113相对误差:er ( x)e(x)0.0000002710.863 10 7x355113有效数字:因为 3.14159

5、265=0.314159265 × 10,355 3.14159292 0.314159292 10 , m=1。113而3553.14159265L3.141592920.0000002705L113所以3553.14159265 L3.141592920.0000002705 L 0.00000051130.510 6110 61101722355所以,作为的近似值有7 个有效数字。指出:实际上,本题所求得只能是绝对误差限和相对误差限,而不是绝对误差和相对误差。2、用四舍五入原则写出下列各数的具有五位有效数字的近似数。346 7854, 7 000009 , 0 00013245

6、80 , 0 600300解: 346 7854 346 79,7 000009 7 0000 ,0 0001324580 0 00013246 ,0 600300 0 60030 。指出:注意 0。只要求写出不要求变形。3、下列各数都是对准确数进行四舍五入后得到的近似数,试分别指出他们的绝对误差限和相对误差限和有效数字的位数。x10.0315, x20.3015, x331.50, x45000 。分析:首先,本题的准确数未知,因此绝对误差限根据四舍五入规则确定。其次,应当先求绝对误差限,再求相对误差限,最后确定有效数字个数。有效数字由定义可以直接得出。解:由四舍五入的概念,上述各数的绝对误

7、差限分别是( x1 ) 0.00005,( x2 ) 0.00005, ( x3 ) 0.005, (x4 ) 0.5由绝对误差和相对误差的关系,相对误差限分别是(x1)( x1 )0.00005x10.16%,0.0315(x2 )( x2 )0.00005 0.02%,x20.3015(x3 )( x3 )0.005x30.002%,31.5(x4 )( x4 )0.5x40.01%.5000有效数字分别有3位、4位、4位、4位。指出:本题显然是直接指出有效数位、直接写出绝对误差,用定义求出相对误差。4. 计算 10 的近似值,使其相对误差不超过 0.1 。解:设取 n 个有效数字可使相对

8、误差小于 0.1 ,则1101 n0.1% ,2a1而 3104 ,显然 a13,此时,1101 n21101 n0.1% ,2a13即 1101 n10 3,6也即 610n104所以, n=4。此时,103.162 。5、在计算机数系F(10,4,-77,77)中,对x10.14281103 与 x20.314159101 ,试求它们的机器浮点数fl (xi )(i1,2) 及其相对误差。解:fl ( x1 )0.1428 103 ,e( fl ( x1 )x1fl ( x1 )0.14281 1030.14281030.00001 103 ,fl ( x2 ) 0.3142101, e(

9、 fl ( x2 )x2fl ( x2 )0.314159101(0.3142101) 0.00041 101其相对误差分别是0.000011030.007%, e20.0000411010.013%。e11030.31421010.14286、在机器数系F(10,8,L,U)中,取三个数x0.2337125810 4 , y0.33678429 102 , z0.33677811 10 2 ,试按( xy) z, x( yz) 两种算法计算xy z 的值,并将结果与精确结果比较。解:fl ( x y) z) (0.23371258 10 4 0.33678429 102 ) 0.336778

10、11 102 (0.00000023 102 0.33678429 102 ) 0.33677811 102 0.33678452 102 0.33677811 1020.00000641 102fl ( x( yz)0.23371258 10 4(0.33678429 1020.33677811 102 )0.23371258 10 40.00000618 1020.00000023 1020.00000618 1020.00000641 102精确计算得:x y z 0.23371258 10 4 0.33678429 102 0.33677811 102 (0.0000002337125

11、8 102 0.33678429 102 ) 0.33677811 1020.33678452371258 1020.33677811 1020.0000641371258 102第一种算法按从小到大计算,但出现了两个数量级相差较大的数相加,容易出现大数吃小数. 而第二种算法则出现了两个相近的数相减, 容易导致有效数位的减少。计算结果证明,两者精度水平是相同的。*在机器数系F(10,8,L,U) 中,取三个数x0.23371258 10 4 , y0.3367842910 2 , z0.33677811102 ,试按( xy) z, x( yz) 两种算法计算 xy z 的值,并将结果与精确结

12、果比较。解:fl ( x y)z)(0.2337125810 40.33678429 10 2 )0.33677811 102(0.0023371310 20.3367842910 2)0.336778111020.3391214210 20.336778111020.000033911020.336778111020.336744210 2fl ( x ( yz)0.2337125810 4(0.33678429 10 20.33677811 102 )0.2337125810 4(0.000033681020.33677811102 )0.2337125810 40.33674742102

13、0.000000231020.336747421020.33674719102第一种算法是按从小到大的顺序计算的,防止了大数吃小数,计算更精确。精确计算得:xyz0.2337125810 40.3367842910 20.336778111020.0000233712580.003367842933.6778110.00339121415833.67781133.6744197858420.33674419785842102显然,也是第一种算法求出的结果和精确结果更接近。7、某计算机的机器数系为 F(10,2,L,U) ,用浮点运算分别从左到右计算及从右到左计算10.40.30.20.040.

14、030.020.01试比较所得结果。解:从左到右计算得10.40.30.20.040.030.020.010.1100.04100.03100.02100.00100.00100.00100.00100.19 101.9从右到左计算得10.40.30.20.040.030.020.010.010.020.030.040.20.30.410.110 10.210 10.310 10.410 10.20.30.410.10.20.30.410.11010.1100.1100.2102从右到左计算避免了大数吃小数,比从左到右计算精确。8、对于有效数x13.105, x20.001, x30.100

15、,估计下列算式的相对误差限y1x1 x2 x3 , y2x1x2 x3x2, y3x3分析:求和差的相对误差限采取先求出和差的绝对误差限再求相对误差限的方法。求积商的相对误差限采取先求每一个数的相对误差限再求和的方法。解:因为x13.105, x20.001, x30.100 都是有效数,所以( x1 )0.0005, ( x2 )0.0005, ( x3 ) 0.0005( x1 )0.00050.16%, ( x2 )0.000550%,( x3 )0.0005 0.5%3.1050.0010.100则 ( x1x2x3 )(x1)( x2 )( x3 )0.00050.0005 0.00

16、05 0.0015( x1 x2 x3 )(x1x2x3 )0.00150.00154.99 10 40.05%x1x2x33.105 0.001 0.1003.004( x1 x2 x3 )( x1 )( x2 )( x3 ) 0.16% 50% 0.5% 50.66%( x2 )( x2 )(x3 ) 50%0.5% 50.5%x3指出 :如果简单地用有效数字与误差的关系计算,则不够精确。注意是相对误差限的讨论。符号要正确,商的误差限是误差限的和而不是差。9、试改变下列表达式,使其计算结果比较精确(其中x = 1 表示 x 充分接近 0, x ? 1表示 x 充分大)。(1)ln x1ln

17、 x2 , x1x2 ;(2)11x, x= 1 ;1x1x(3)x1x1x, x ? 1 ;x(4)1cosx, x且x =1 ;x01(5)cot x, x0且x = 1。x分析:根据算法设计的原则进行变形即可。当没有简单有效的方法时就采用泰勒展开的方法。解: (1)ln x1ln x2lnx1;x2(2)11x1x(1x)21 x1x(1x)(1x);1 x (1 2x x2 )3x x2(1x)(1x)(1x)(1 x)(3)11x21x21xxxxxxx21x21x2x( x21x21)或1( x1x1 )( x1x1 )x1xxxxxx11xxxxx( x1 )( x1)2xxxx

18、1x1x21x2 1xxxx2x (x21x21)x2x(x21x21)(4)1cos x1 (1 x2x4L( 1)n x2 nL )2!4!(2 n)!xxx2x4L(n1x2nL2!4!1)(2 n)!xx x3L( 1)n 1 x2 n 1L2!4!(2 n)!(5)1cot x1(11x1x3L22n Bnx2n 1 L )xxx345(2n)!1 x1 x3 L22 n Bn x2n 1 L345(2n)!(Bn是贝努利数)指出:采用等价无穷小代换的方法一般不可行。近似计算中的误差并不是无穷小量,利用无穷小量等价代换,两个量的差别可能恰恰是影响精度的因素。采用等价无穷小代换,可能只

19、会得到精度水平比较低的结论。例如1 cosx2sin 2 x2( x )2x22xxx211cosxsin xx cosxcot xxsin xx sin xxx x cos x ( x = 1,sin xx)xsin x1 cos x sin x1 1 ( x = 1,cosx 1) sin x0试与上例比较。有时候这种方法可以使用,例如因为 cos(x)cos x cossin xsin,当= 1 时, cos1,sin0cos( x)cos x cossin x sincos xsin xg在这个计算中,由于x 是常数, x 的函数值实际上放大了每一项的计算结果,使得相近的数相减的问题不

20、很突出。而利用一阶的泰勒展开f ( x)f (x)f ( )( xx) ,当= 1 时,就有 f ( x)f ( x)f (x) ,因此cos( x)cos xsin x和上面的结果一样。但显然,用泰勒展开的方法具有一般性并能得到精度更高的结果,而且不会有方法上出错的可能。采用洛必达法则也是不可以的。实际上,无论是等价无穷小还是洛必达法则都是极限方法,而因为近似计算中的误差虽然可以近似地看作是微分,但本质上却是一个确定的可能极小的小数而不是无穷小(趋于零的变量),因此近似计算是不能采用极限方法的。转化的结果要化简,比如化繁分式为简分式,但不能取极限。取极限就违背的了数值计算的本意。所以,11x

21、1101x1x1010是错误的。110极小的数做除数,实际上是0 型的不定型,要转化为非不定型。010、用 4 位三角函数表,怎样算才能保证1cos 2o 有较高的精度?解:根据 1cos2o2sin 2 1o ,先查表求出sin1o 再计算出要求的结果精度较高。指出:用度数就可以。不必化为弧度。11、利用78327.982 求方程x256 x10 的两个根,使它们至少具有4 位有效数字。解:由方程的求根公式,本方程的根为5656245622821x1,22228 783因为 78327.982,则x1287832827.98255.982如果直接根据求根公式计算第二个根,则因为两个相近的数相

22、减会造成有效数字的减少,误差增大。因此根据韦达定理 x1 x21,在求出 x155.982 后这样计算 x2 :x211 0.01786=0.1786 101x155.982这样就保证了求出的根有四位有效数字。12、试给出一种计算积分1I ne 1 xnexdx(n0,1,2,3,.) ,0近似值的稳定算法。e 11x0exdxe 1 (ee 1 。解:当 n 0 时, I 01) 1011(ex dx exe1 ) 。00bbb对 I n 运用分部积分法 (udvvdu ) 得uv aaa1n x 111I n e1n xe1(xxn 1 xe1(e 0n xn 1 xx e dxene d

23、x)e dx)000011 ne 1 xn 1exdx 1 nI n 10由此得到带初值的递推关系式I 01e 1I n1nI n1 (n1,2,3,.)由递推公式I n 1 nI n 1解得 I n11 (1I n ) ,这是逆向的递推公式,对nI n 的值作估计,有111I ne 1 xn exdx e 1e1 xn dx100n另有111I ne 1 xn exdx e 1 xndx e 100n1(取 e 的指数为最小值0,将 ex 取作 e 01 作为常数即可简化公式)。则e 1 11I n1。nn1那么,我们可以取其上下限的平均值作为其近似值。即取I n 11( e 11)2 n1

24、可以看出, n 越大,这个近似值越精确地接近于准确值。(n 越大, In 的上限和下限就越接近,近似值区间的长度就越短,近似值和精确值就越接近 )此时, en 1=I n 1* I n 1= 1 (I n* I n) 1 e n ,e0 = 1 en,计算是稳nnn!定的。实际上,如果我们要求 I 9,可以先求出 I 20,这样求出的 I 9 的误差是比 I 20的误差小得多的,而I 20 的误差本身也并不大。实际上,这样求出的I 9 比直接计算出来的精确得多。补充题(一)1、给出数系 F(10,4,-5,5)中的最大数、最小数和最小整数。解:最大数: 0.9999 × 105 ;最

25、小数:0.9999 ×105 ;最小正数: 0.0001 ×10 5 。2、已知 e2.71828182845904523536028747L,求它在 F(10, 5, 5,5)和 F(10, 8, 5,5)中的浮点数。解:在 F(10,5, 5,5)中, fl (e)0.27183101在 F(10,8, 5, 5)中, fl (e) 0.271828181013、已知数 e 的以下几个近似数,它们分别有几位有效数字?相对误差是多少?x0 2.7182, x1 2.7183, x02.7182818 。分析:题目没有说明近似数是通过哪种途径取得的,也就没有明确每个近似数和

26、准确数之间的误差关系。所以,本题的解答应当从求近似数的误差开始。解:因为ex00.00008181110 31101 4,22ex10.0000211041101 5,,22ex20.00000003110 71101 8.22所以, x02.7182, x12.7183, x02.7182818 分别有 4、 5、 8 个有效数字。其相对误差分别是ex0110141er( x0 )23,x02.7182104ex1110 4,4ex2110 744、数 (38)3与下述各式在实数的意义上是相等的,(38)3(1)(17 68) 3 ,( 2) (1768) 3 1,(3)(38)6 ,(4)

27、(38)6 1,( 5) 1960169208 ,( 6) (19601 6920 8) 1 。试说明在浮点数系F (10,4,8,8)中,用哪个公式计算出的结果误差最小。分析:本题实际上是一个算法分析与设计问题,也就是说要应用算法设计的基本原则进行分析讨论。解:在本例中,显然3 和 8在浮点数系中是相近的数。进一步地,17和 68 、 19601 和 69208 也是相近的数。因此:为避免相近的数相减,不应采用(1)、( 3)、( 5)三种计算方法。在余下的三种计算方法中,(2)需要进行 4 次乘除法,( 4)需要进行 7 次乘除法,( 6)需要进行 1 次除法。从减少运算次数来说,应采用(

28、 6)。所以,采用(6)计算,计算结果误差最小。xln(1 x) / x3 ,当 x = 1 时,如何计算才能获得准确的结果?5、f ( x) xe 2解:当x = 1(即很小时),f(x)的分子是两个相近的小数相减,而分母也是一个小数,因此应避免简单地按原计算顺序直接计算,而应进行变形。由泰勒展开得x( x )2( x)3( x)4x x( x) xg22xg 2xe2xgL22!3!4!ln(1x)xx2x3xnL23Ln因此f ( x) ( 1 1)x3( 11) x4(1241) x5 L / x383484165511 x397 x224481920此处最后略去部分的第一项为(132

29、1) x3639x312063840当 x = 1 时,这一部分是相当小的值,可以略去。指出:如果要提高计算精度,就可以考虑保留更多的项。补充题(二)(一)1、计算 e 的近似值,使其误差不超过106。2、利用11 x x2Lxnxn 1(01,x 1)f ( x)(1x)n 21 x计算 f(0.1)的近似值,其误差不超过102,求 n。3、 3.142 和 3.141 分别作为 的近似数,各有几位有效数字?4、已知近似数 x 的相对误差限为0.3,问 x 至少有几个有效数字?5 、已知 x 的下列 3 个近似数的绝对误差限都是0.005 ,问它们的有效数字各有几位?a=138.00 ,b=

30、-0.0132,c=-0.86 ×10 -46 、设近似值 x=1.234 ,且绝对误差界为0.0005 ,则它至少有几位有效数字?7 、某校有学生 6281 人,通常说有 6000 人。下面哪个式子表示 6000 这个近似数合适?0.61040.601040.6001040.600010 4分析与解答1、解:令 f(x)=ex,而 f (k)(x)=ex,f (k)(0)=e0=1。由麦克劳林公式,可知ex1 xx2Lxne xxn 1(01)2!n!( n 1)!当 x=1 时, e111e1)1L(n(02!n!1)!故Rn (1)e3。(n1)!( n 1)!当 n9 时,

31、Rn (1)<106,符合要求。此时,e 2.718 285解决这类问题其实很简单。只要知道了泰勒展开式,余下的就只是简单的计算了。泰勒 (Taylor) 中值定理:若函数f(x) 在a,b 上存在直至 n 阶的连续导函数,在 (a,b)上存在 n+1 阶导函数,则对任意给定的 x,x0a,至少存在一点 ,b( a,,b),使得f ( x) f ( x0 )f (x0 )( x x0 )2Lf ( n) (x0 )x0 )nf ( n 1)( )(x x0 )n 1f (x0 )( x x0 )2!(x(n1)!n!其中,Rn ( x)f ( n 1) ( ) ( xx0 )n 1 叫做

32、拉格朗日型余项。(n1)!当 x0=0 时,得到麦克劳林公式。f ( x) f (0)gf (0) g 2Lf (n ) (0) gnf ( n1) ( x) gn 1(01)f (0) xxn!x(nx2!1)!2 、解:(1xn 10.1n 10.1n 1(1) n 210 10 2,x) n 2(1 0.1)n 20.9n 299 ( n2)10 3,9n 2103所以, n=2 。3 、3.14159265 =0.314159265 ×10 , 3.142 0.3142×10 ,m=1 。因为3.142 3.14159265 3.142 0.00040所 以 , 3

33、.142 0.000400.0005=0.5 ×10 3 110 31101422所以, 3.142作为的近似值有 4 个有效数字。3.1415926L ,3.1415926L 3.141 0.00059 0.005 0.5 10 2 110 21101 322小数点后几个 0 ,10 的指数的绝对值就是几。4 、解:设 x 有 n 位有效数字, 其第一位有效数字按最不利情况取为 9,则0.3%31101n21101 n1 10 n110002(91)102210 n,由上可得6 10n1000 ,n 2.2 ,所以取 n=2 。5 、解: x axb xc0.005110 2,2所以 m-n=-2。a=138.00=0.13800×10 3 ,则 m=3 ,所以 n=3-(-2)=5,即 a 有 5 位有效数字;b=-0.0132=-0.132×10 -1 ,则 m=-1,所以 n=-1-(-2)=1,所以 b 有 1 位有效数字。c=-0.86×10 -4 ,则 m= 4 ,所以 n= 4-(-2)=2<0 ,所以 c 没有有效数字。6 、解:因

温馨提示

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

评论

0/150

提交评论