《数值分析第五版第1章习题答案李庆扬.pdf》由会员分享,可在线阅读,更多相关《数值分析第五版第1章习题答案李庆扬.pdf(11页珍藏版)》请在金锄头文库上搜索。
1、第 1 章 复习与思考题 1、什么是数值分析?它与数学科学和计算机的关系如何? 答:数值分析是研究数值问题的算法,概况起来有四点: 第一, 面向计算机,要根据计算机的特点提供切实可行的有效算法,即算法只能包括计算机能直接处理的加、减、乘、除运算和逻辑运算。 第二, 有可靠的理论分析,能任意逼近并达到精度要求,对近似算法要保证收敛性和数值稳定性,还要对误差进行分析,这些都是建立在相应数学理论基础上 第三, 要有好的计算复杂性,时间复杂性是指能节省计算时间,空间复杂性是指能节省计算存储空间,这也是算法要研究的问题,它关系到算法能否在计算机上实现。 要有数值试验, 即任何一个算法除了从理论上要满足上
2、述三个条件外, 还要通过数值试验证明是行之有效的。 2、何谓算法?如何判断数值算法的优劣? 答:将连续问题离散化,使得输出数据是原函数在求解区间上的离散点的近似值,就是“数值问题” ,求解“数值问题”的各种数值方法就是算法。 判断数值算法的指标是计算复杂性,分为时间复杂性和空间复杂性。 3、列出科学计算中误差的三个来源,并说出截断误差和舍入误差的区别? 答:科学计算中的误差的三个来源是:截断误差、舍入误差和模型误差 截断误差是数值计算方法的近似解与模型精确解之间产生误差。 舍入误差是计算机由于字长限制,原始数据在计算机上表示时产生的误差。 4、什么是绝对误差与相对误差?什么是近似数的有效数字?
3、它与绝对误差和相对误差有何关系 答:绝对误差是计算机计算的近似值与模型精确值之间的差值的绝对值 相对误差是绝对误差除以精确值的绝对值,通常使用绝对误差除以计算机计算的近似值的绝对值表示 近似数的有效数字:若近似数第 m 位有效,而第 m+1 为无效,则从第 m 位向前数到 X*的第一位非零数字共有 n 位。就说近似数具有 n 位有效数字。 此时的近似数的绝对误差不大于第 m 位的半个单位。即有效数字越多,绝对误差限越小 5、什么是算法的稳定性?如何判断算法稳定?为什么不稳定的算法不能使用 答:如果一个算法在计算过程中有舍入误差,而舍入误差在计算过程中不增长,则称此算法是数值稳定的。 通过误差传
4、播是否扩大可以判断算法是否稳定 不稳定的算法,其误差传播是扩大的,导致计算结果不准确,因而不能使用。 6、什么是问题的病态性?它是否受所用算法的影响 答:对于一个数值问题本身,如果输入数据有微小的扰动(即误差) ,引起输出数据(即问题解)相对误差很大,这就是问题的病态性。 病态问题是数值问题自身固有的,与所用算法无关。但选择算法可以减少误差的危害。 7、什么是迭代法,试利用 x3-a=0,构造计算𝑎3的迭代公式 答:迭代法是指按同一公式重复计算逐次逼近真值的算法。 x3-a=0 令X = X0 + X 则(X0 + X)3= a 有𝑥03+ 3𝑥
5、0𝑥2+ 3𝑥𝑥02+ 𝑥3= a 由于x 时是小量,若省略高阶项x 的二次方和三次方。有 𝑥03+ 3𝑥𝑥02= a 即x = (a 𝑥03)/(3𝑥02) 于是有x1 = x0 + x x0 +𝑎3𝑥02𝑥03, 重复,可以得到迭代公式 𝑥𝑘+1=2𝑥𝑘3+𝑎3𝑥𝑘2 8、直接利用以直代曲的
6、原则构造方程 x2-a=0 的根 x*=𝑎的迭代法 答:𝑥𝑘+1= 𝑥𝑘𝑥𝑘2𝑎2𝑥𝑘=𝑥𝑘2+𝑎2𝑥𝑘 9、举例说明什么是松弛技术。 答: 刘徽的割圆术计算的方法, 取松弛因子=36/105, 加速计算得到了的近似值 3.1416 10、考虑无穷级数1𝑛𝑛,它是发散的,在计算机上计算它的部分和,会得到什么结果?为什么? 答:
7、计算结果不会发散。原因是受计算机字长的限制,当 n 趋近于无穷时,1/n 趋近于 0,受计算机字长的限制,会直接得零。因此,总和在 n 达到某一个值(受计算机字长限制,可由字长计算)后,总和保持不变。 11、判断下列命题的正确性 (1)解对数据的微小变化高度敏感是病态的 对 (2)高精度运算可以改善问题的病态性 错 (3)无论问题是否病态,只要算法稳定都能得到好的近似值 错 (4)用一个稳定的算法计算良态问题一定会得到好的近似值 错 (5)用一个收敛的迭代法计算良态问题一定会得到好的近似值 对 (6)两个近似数相减必然会使有效数字损失 对 (7)计算机上将 1000 个数量级不同的数相加,不管
8、次序如何结果都是一样的 错 习题 1、 设 X0,X 的相对误差为,求 lnX 的误差 解:设近似值为*0X,依据定义 r(X*) |X* X|/X*E (X*)|X*-X|= X*E 所以*XXX 解法 1: 按定义求解 E(lnX)=|lnX-LnX*|=ln(X/X*)=ln(1- ) r(lnX) |lnX ln*|/lnX*ln(1)/lnX*ln(1)/lnX*EX 解法 2: 按泰勒展开求解, 2(x)(x*)= (x*)(x x*)( )(x x*)ffff 则: 1(lnX*) |lnX lnX*| lnX* (X X*)*r(lnX*) |lnX lnX*|/ln*/ln*
9、EXXEXX 问题是解法 1 错了吗? 没错,当很小时,ln(1- )= 2、设 X 的相对误差为 2%,求nX的相对误差 解:由已知条件 设 X*X 为 X 的近似数,有 Er( *)=|(X-X*)/X*|=0.02X 所以* 0.02*XXX 解法 1: 按照定义: (1 0.02)X* (1.02)nnnnXX (X )(XX* )/ X*1.021(1 0.02)1nnnnnEr 多项式展开,有 10(X )0.02nnn iiEr 解法 2: 按照泰勒展开 11(X )(XX* )*(X X*)nX*(0.02X*)0.02X*(X )(XX* )/X*0.02* /*0.02nn
10、nnnnnnnnnnEnXErnXXn 问题是解法 1 错了吗? 10.02nn ii收敛于(0.02/(1-0.02)= 0.002004008016032064128256)与 0.02n 不一致。如何解释? 应该没有错,按照泰勒展开,相当于将误差限放大了。 3、下列各数都是经过四舍五入得到的近似数,即误差限不超过最后一位的半个单位,试指出它们是几位有效数字 *11.1021x,*20.031x,*3385.6x,*456.430x,*57 1.0x。 解: X1 有 4 位有效数字;X2 有 1 位有效数字;X3 有 3 位有效数字;X4 有 1 位有效数字 4、利用公式(2.3)求些列
11、各近似值的误差限 *124xxx,*123x x x,*4*2/ xx 其中*1234xxxx, , ,均为上题给出的数。 公式(2.3) : 1(A*)|()*| (X )nkkkfX 解: *4333124124()()()()0.5 100.5 100.5 101.05 10xxxxxx *1232311321234313()()()()0.031 385.6 0.5 101.1021 385.6 0.5 101.1021 0.031 0.5 10(0.59768 212.48488 1.708255) 100.214790815x x xx xxx xxx xx * 2*2442244
12、323335(/)1/()/()()1/56.430 0.5 100.031/(56.430)0.5 10(1 0.031/56.430)/56.430 0.5 10=(0.99945064681906787169945064681907) 0.5/56.430 100.8856 10xxxxxxx 5、计算求体积要使相对误差限为 1%,问度量半径 R 所允许的相对误差是多少? 解: 球的体积公式3VR 利用公式 2.3 有 23(V)3R(R)/R3 (R)/ R0.01r 有(R)0.01 /3R (R)(R)/1/300rR 6、设 Y0=28,按递推公式 11783100nnYY,1,
13、2,3.n 计算到 Y100,若取78327.982(5 位有效数字) ,试问计算 Y100 将有多大的误差 解: 令nY和nY分别表示准确值和近似值,绝对误差nnn(Y )(YY ),所以(Y )0n。 111783100127.982100nnnnYYYY 所以nnn11n 1n 1n 2n 200(Y ) |(YY )|11|(783)(27.982)|10010011|(YY)(27.982783)|10010011|(YY)2 (27.982783)|10010011|(YY )(27.982783)|10010011|(27.982783)|100100nnYYnn 当 n=100
14、 时 3n11(Y ) |100 (27.982783)| |27.982783 | 0.5 10100100 此种迭代,误差越来越大,属于不稳定算法。 7、求方程25610XX的两个根,使它至少具有 4 位有效数字(78327.982) 解:利用求根公式有 21,242bbacXa 令2221456564282812878322bbacXa 224287832bbacXa 当78327.982,具有 5 为有效数字。 因此128 27.98255.982X,具有 5 位有效数字,符合题意的要求。 22827.9820.018X,只具有 2 位有效数字,不符合题意的要求。 因此将2211287
15、831.78629 1055.98228783X,具有 5 位有效数字,满足题意的要求。 此题的重点是,要注意两式相减时其有效位数是会降低的。因此,要避免 2 个接近的数字相减。 8、当XY时,计算lnlnXY有效位数会损失,改用lnlnlnxxyy是否就能减少舍入误差?(提示:考虑对数函数何时出现病态) 。 解:令XZ=Y 利用 3.3 式,相对误差比值 (x)(x*)(x)| |(X)(x)ffxfff 有 1*lnzlnz*1*| | |lnz*lnz*lnz*zz 由于XZ=1Y 因此ln0z,所以 lnzlnz*|1lnz,故误差是扩大的。 只有当|ln *| 1z,即|*| |*|
16、XeY时,误差才会减少。 答:因此改用lnlnlnxxyy不能减少舍入误差。 问题:对于本题,该如何得到要求精度的解。 9、正方形的边长大约为 100cm,应怎样测量才能使其面积误差不超过 12cm? 解: 面积公式:2SL 2(S)(L )2(L)2*100 (L)1L 所以1(L)200, 即1L=100200cm 10、设212Sgt,假定g是准确的,而对t的测量有0.1秒的误差,证明当t增加时S的绝对误差增加,而相对误差却减少。 证明: 根据绝对误差和相对误差定义有: 2(S) |2gt (t)| |0.2| 0.2gt(t)0.1(S) | (S)/2gt | |gtrtt 从上式可
17、以看出,当t增加时,(S)增加而(S)r减少 11、序列ny满足递推关系1101nnyy1,2,3.,n,若021.41y(三位有效数字) ,计算到10y时误差有多大?这个计算过程稳定吗? 此题同第 6 题 解:设ny和ny分别为递推公式的准确值和精确值 有002,1.41yy 101010999910001028(Y ) |Y| |(10Y1)(10Y1)| |10(YY )|. |10 (YY )|100.5 10| |0.5 10 |Y 因此,计算过程是不稳定的。 12、计算6( 2 1)f, 取21.4, 利用下列公式计算, 哪一个得到的结果最好?61( 2 1),3(3 2 2),3
18、1(3 2 2),9970 2。 解:利用泰勒展开有 141767116() | 6| (1.4) | 0.5 106.54 100.5 102.4( 2 1)( 2 1),即 1 位有效数字保留了下来 32111(3 2 2) ) |6(3 2 2) | (1.4) |6 0.2| 0.5 100.6 100.5 10,没有有效数字 141434116() | 6()| (1.4) | 0.5 100.265 100.5 105.8(3 2 2)(3 2 2)即1 位有效数字保留了下来 11(99 70 2) |70| (1.4)35 100.5 10,没有有效数字 13、2( )ln(1)
19、f xxx,求)30(f的值。若开平方用六位函数表,问求对数时误差有多大?若改用另一等价公式22ln(1)ln(1)xxxx计算,求对数时误差有多大? 解: 使用六位函数表时,230 -1= 899=29.9833,则4(30)0.5 10 利用泰勒展开有 424241( ()| (30) (30)| 0.5 1011=| 0.5 100.2994 100.5 103029.9833f Xfxx 降低了计算精度 424641( ()| (30) (30)| 0.5 1011=| 0.5 100.8336 100.5 1030 29.9833f Xfxx 保持了计算精度 本题说明,选择合理的计算
20、方法能保持计算精度不降低。本题中的 2 种方法计算精度相差100 倍 14、用秦九韶算法求多项式53( )327p xxxx在3x处的值。 解: 秦九韶算法迭代公式为 001iiibabb xa 因此有 01234539 0=9272=2575 0=75225 1226 3 7=685bbbbbb 即(3)685p 15、用迭代法11(k0,1,2,3.)1kkxx求方程210xx的正根15*2x,取01x,计算到5x,问5x有几位有效数字? 解 10213243541110.511 121120.66711 0.531130.6215131150.625318151180.615451131
21、8xxxxxxxxxx 即5581513280.615413xx 而-1-129|5| 0.0053=0.053 100.5 1013 即有 1 位有效数字 16、用不同的方法计算积分0.50xe dx 1)用原函数计算到 6 为小数 2)用复合梯形公式(4.7) ,取步长 0.25 3)利用 T1 及 T2 的松弛法(4.8)求 S1。 解: 1)0.50.500.510.6487210xxe dxee 2)取步长 0.25,即 h=(0.5-0)/n=0.25,解得 n=2. 所以2110112(f)f(x)f(x )2f(x )f(x )f(x )f(x )22iiihIhh 其中 X0
22、=0,X1=X0+h=0.25,X2=X0+2h=0.5 0210.50.25f(x )f(x ) f(x )20.125(1 e)0.25e0.125 (2.64872)0.25 1.28402=0.983185h 3)利用松弛法 12f(a)f(b)2f(a)2f(c)f(b),c42baTbabaT 取13, 12141f(a)4f(c)f(b)336baSTT 其中00.50.25(a)1(b)1.648721(c)1.284025fefefe 所以10.51 4 1.284025 1.648721=0.6487356S 本题说明,合理采用松弛法可以比较精确的解 17、将第 15 题迭
23、代前后的值加权平均构成迭代公式 +11(1)1kkkxxx,验证若取725,则上述公式比 15 题迭代收敛快 解: 当725,迭代公式为 +17181()2525 1kkkxxx 当01x 100211322433544718116()0.642525 125718171618()()0.61822525 12525417181()0.173096 0.72*0.6180=0.61812525 17181()0.173068 0.72*0.61800.61802525 17181()0.17304 0.2525 1xxxxxxxxxxxxxxx72*0.61800.6180 当计算到 X5 时,X5=X4,表明只要 5 步得带就可以得到精度为40.5 10的计算结果,比 15题的迭代收敛快。