当前位置:文档之家› 计算方法习题集第一,二章规范标准答案

计算方法习题集第一,二章规范标准答案

第一章 误差1 问3.142,3.141,722分别作为π的近似值各具有几位有效数字?分析 利用有效数字的概念可直接得出。

解 π=3.141 592 65…记x 1=3.142,x 2=3.141,x 3=722.由π- x 1=3.141 59…-3.142=-0.000 40…知3411110||1022x π--⨯<-≤⨯ 因而x 1具有4位有效数字。

由π- x 2=3.141 59…-3.141=-0.000 59…知 2231021||1021--⨯≤-<⨯x π因而x 2具有3位有效数字。

由π-722=3.141 59 …-3.142 85…=-0.001 26…知231021|722|1021--⨯≤-<⨯π因而x 3具有3位有效数字。

2 已知近似数x*有两位有效数字,试求其相对误差限。

分析 本题显然应利用有效数字与相对误差的关系。

解 利用有效数字与相对误差的关系。

这里n=2,a 1是1到9之间的数字。

%5101211021|*||*||)(|1211*=⨯⨯≤⨯≤-=+-+-n ra x x x x ε3 已知近似数的相对误差限为0.3%,问x*至少有几位有效数字? 分析 本题利用有效数字与相对误差的关系。

解 a 1是1到9间的数字。

1112*10)1(2110)19(21102110003%3.0)(--⨯+≤⨯+⨯=⨯<=a x r ε 设x*具有n 位有效数字,令-n+1=-1,则n=2,从而x*至少具有2位有效数字。

4 计算sin1.2,问要取几位有效数字才能保证相对误差限不大于0.01%。

分析 本题应利用有效数字与相对误差的关系。

解 设取n 位有效数字,由sin1.2=0.93…,故a 1=9。

411*10%01.01021|*||*||)(-+-=≤⨯≤-=n r a x x x x ε解不等式411101021-+-≤⨯n a 知取n=4即可满足要求。

5 计算76017591-,视已知数为精确值,用4位浮点数计算。

解=-760175910.131 8×10-2-0.131 6×10-2=0.2×10-5结果只有一位有效数字,有效数字大量损失,造成相对误差的扩大,若通分后再计算:56101734.0105768.01760759176017591-⨯=⨯=⨯=- 就得到4位有效数字的结果。

此例说明,在数值计算中,要特别注意两相近数作减法运算时,有效数字常会严重损失,遇到这种情况,一般采取两种办法:第一,应多留几位有效数字;第二,将算式恒等变形,然后再进行计算。

例如,当x 接近于0,计算xx sin cos 1-时,应先把算式变形为xx x x x x x cos 1sin )cos 1(sin cos 1sin cos 12+=+-=- 再计算。

又例如,当x 充分大时,应作变换xx x x ++=-+111)1(1111+=+-x x x x 6 计算6)12(-=a ,取4.12≈,采用下列算式计算: (1)6)12(1+; (2)27099-;(3)3)223(-; (4)3)223(1+. 问哪一个得到的结果最好?解 显然66666)12(1)12()12()12()12(+=++-=-=a []27099)223()12()12(3326-=-=-=-[]33266)223(1)12(1)12(1)12(+=+=+=-所以(1)≡(2)≡(3)≡(4),这4个算式是恒等的,但当取4.12≈计算时,因为(2),(3)都涉及到两个相近数相减,使有效数字损失,而(1)在分母算式上的乘幂数比算式(4)大,所以算式(4)最好,事实上,当取4.12≈时,有|△x|<0.015,再由)(x f 的误差 |||)4.1(||)()(x f x f x x f ∆'≈-∆+也可直接估计出每个算式的误差,显然,算式(4)误差最小。

具体计算可行: (1)36102.5)12(1-⨯≈+; (2)0.127099≈- (3)33100.8)223(-⨯≈-; (4)33101.5)223(1-⨯≈+. 比较可得用第(4)个算式所得的结果更接近于a 。

7 求二次方程x 2-(109+1)x+109=0的根。

解 由于x 2-(109+1)x+109=(x-109)(x-1),所以方程的两个根分别为 x 1=109,x 2=1但如果应用一般二次方程ax 2+bx+c=0的求根公式:aacb b x 2422,1-±-=由于当遇到b 2>>4|ac|的情形时,有ac b b 4||2-≈,则用上述公式求出的两个根中,总有一个因用了两个相近的近似数相减而严重不可靠,如本例若在能将规格化的数表示到小数点后8位的计算机上进行计算,则-b=109+1=0.1×1010+0.000 000 0001×1010,由于第二项最后两位数“01”在机器上表示不出来,故它在上式的计算中不起作用,即在计算机运算时,-b=109.通过类似的分析可得 9210||4=≈-b ac b所以,求得的两个根分别为99921102101024=+≈-+-=a ac b b x021010249922=+≈---=a ac b b x显然,根x 2是严重失真的。

为了求得可靠的结果,可以利用根与系数的关系式:ac x x =21,在计算机上采用如下公式:aacb b b x 24)sgn(21---=12ax c x =其中,sgn (b )是b 的符号函数,当b ≥0时sgn (b )=1;当b<0时,sgn (b )=-1。

显然,上述求根公式避免了相近数相减的可能性。

8 当N 充分大时,如何计算⎰++=111N Ndx xI 分析 函数211x +的原函数已知,我们自然考虑用Newton-Leibniz 公式求这个定积分的值。

由于N 很大,这样会遇到两个相近的数相减,因此,应采用一些变换公式来避免这种情况。

解若用定积分的Newton-Leibniz公式计算此题,有⎰+-+=+12arctan )1arctan(11N NN N x ,则当N 充分大时,因为arctan (N+1)和arctanN 非常接近,两者相减会使有效数字严重损失,从而影响计算结果的精度,这在数值计算中是要尽量避免的,但是通过变换计算公式,例如:令tan θ1=N+1, tan θ2=N ,则由NN N N N N )1(11)1(11tan tan 1tan tan )tan(212121++=++-+=+-=-θθθθθθ,得 NN N N )1(11arctanarctan )1arctan(21++=-+=-θθ就可以避免两相近数相减引起的有效数字损失,从而得到较精确的结果。

所以,当N 充分大时,用⎰+++=+12211arctan 11N NN N x 计算积分的值较好。

9 计算积分⎰==-11,2,1(Λn dx ex I x n n .分析 数值计算中应采用数值稳定的算法,因此在建立算法时,应首先考虑它的稳定性。

解 利用分部积分法,有⎰⎰⎰⎰--------=-==1111101110110111|dx e x n dx nx e e x de x dx e x x n n x x n x n x n得递推公式:1(1,2,)n n I I nI n -=-=L (1)⎰-==-110011edx ex I x利用公式(1)计算I n ,由于初值I 0有误差,不妨设求I 0的近似值*0I 时有大小为ε的误差,即ε+=*00I I 则由递推公式(1)得εε-=--=-=**1001I I I I I Iεε!22222112+=+-=-=**I I I I I I εε!3!23333223+=⨯--=-=**I I I I I I εε!4!34444334+=⨯+-=-=**I I I I I I ┊ε!)1(n I I n n n-+=* 显然初始数据的误差ε是按n!的倍数增长的,误差传播得快,例如当n=10时,10!≈3.629×106,ε!10||1010=-*I I ,这表明I 10时已把初始误差ε扩大了很多倍,从而*10I 的误差已把I 10的真值淹没掉了,计算结果完全失真。

但如果递推公式(1)改成)2,3,1,()(11Λ-=-=-k k n I I nI n n于是,在从后往前计算时,I n 的误差减少为原来的n1,所以,若取n 足够大,误并逐步减小,显然,计算的结果是可靠的。

所以,在构造或选择一种算法时,必须考虑到它的数值稳定性问题,数值不稳定的算法是不能使用的。

10 为了使计算32)1(6)1(41310---+-+=x x x y的乘除法运算次数尽量地少,应将表达式改写为怎样的形式?解 设.))64(3(10,11t t t y x t -++=-=在数值计算中,应注意简化运算步骤,减少运算次数,使计算量尽可能小。

11若x*=3587.64是x 的具有六位有效数字的近似值,求x 的绝对误差限。

12为使70的近似值的相对误差小于0.1,问查开方表时,要取几位有效数字? 13利用四位数学用表求x=1-cos2°的近似值,采用下面等式计算: (1)1-cos2°(2)2sin 21° 问哪一个结果较好?14求方程x 2-56x+1=0的两个根,使它至少具有四位有效数字(已知982.27783≈)。

15数列0}{=∞n x 满足递推公式),2,1(1101Λ=-=-n x x n n若取41.120≈x (三位有效数字),问按上述递推公式,从x 0计算到x 10时误差有多大?这个计算过程稳定吗?16如果近似值m n n a a a a x 10)101010(123121⨯⨯++⨯+⨯+±=+---*Λ的相对误差限小于1110)1(21+-⨯+n a ,证明:这个数具有n 位有效数字。

第二章 插值法与数值微分1 已知12144,11121,10100===,试利用插值法近似计算115。

分析 由题中已知条件本题可利用三点二次Lagrange 插值,也可利用三点二次Newton 插值,它们所得结果相同。

解 利用三点二次Lagrange 插值。

记12,11,10,144,121,100,)(210210=======y y y x x x x x f ,则)(x f 的二次Lagrange 插值多项式为))(())(())(())(()(210120120102102x x x x x x x x y x x x x x x x x y x L ----+----= ))(())((1202102x x x x x x x x y ----+)144121)(100121()144)(100(11)144100)(121100()144)(121(10----⨯+----⨯=x x x x )121144)(100144()121)(100(12----⨯+x x)115(115)115(2L f ≈=)144121)(100121()144115)(100115(11)144100)(121100()144115)(121115(10----⨯+----⨯= 756722.10)121144)(100144()121115)(100115(12≈----⨯+因为25232183)(,41)(,21)(---='''-=''='x x f x x f x x f ,)()()(22x L x f x R -=)144,100(),)()()((!31210∈---'''=ξξx x x x x x f所以|)115()115(||)115(|22L f R -=|)144115)(121115)(100115(8361|25---⨯⨯=-ξ≤22510125163.029*******361--⨯=⨯⨯⨯⨯⨯2 已知)(x f y =的函数表求函数在[0,2]之间的零点的近似值。

相关主题