1.2舍入误差和计算机算术 23 3位数值(裁断法).-14.263899+七4.2≈0.045 -14.263899 3位数值(舍人法): -14.263899+14.3≈0.0025 -14.263899 使用嵌套法已将截断近似计算的相对误差减小到原先方法所得相对误差的10%之内。对于舍 人近似计算则改进更大,其相对误差已减小了95%以上。 多项式在求值之前总应以嵌套的形式表示,原因是这种形式使得算术运算的次数最小化。 例6中误差的减小是由于算术运算的次数从4次乘法和3次加法减少到2次乘法和3次加法。 减小舍人误差的一种办法是减少产生误差的运算的次数。 习题1.2 1.计算由p·近似代替p的绝对误差和相对误差。 a.p=x,p'=227 b.p=元,p°=3.1416 c.p=e,p'=2.718 d.p=2,p°=1.414 e.p=e°,p'=22000 1.p=10',p=1400 g.p=81,p°=39900 h.p=9I,p'=√18元(9/e)” 2.对干每一个p值,求出p‘必须位于的最大区间使得通近力的相对误差至多为10‘ a he c.2d.7 3.假设p‘近似代替p的相对误差必须不超过10’。对于每一个中值,求出力'必须位于的最大区间。 a.150b.900c.1500d.90 4.完成下面的运算()精确计算;()使用3位裁断法算术;(m)使用3位舍人法算术:(w)计算第()和第 ()分题的相对误差。 。号+号 b.号号 c(号-)+0 a(兮+品)-易 5.使用3位舍人算法来完成下面的计算。计算绝对误差和相对误差精确到至少5位数字。 a.133+0.921 b.133-0.499 c.(121-0.327)-119 d.(121-119)-0.327 【.-10m+6e-最 g.(号(号) 17 6.用4位舍入算法,重做第5题 7.用3位截断算法,重做第5题
24 第一章数学基础 8.用4位截断算法,重做第5题。 9,反正切函数的Maclaurin级数的前三个非零项为x-(13)x3+(15)x'。在下面x的近似式中用多项 式代替反正切函数,计算绝对误差和相对误差: a4[arcta(分)+arctan(兮)】 b.i6 Srctan(兮)-4 aretan(a)) 子10.数e可以定文为e=1/m),这里n!=n(n-1)-2:1(n≠0且01=1。计第下面近似代楷e的 绝对误差和相对误差: 1.设)=n如二。 a,求limf(x)。 b.使用4位舍入算术来求f(0.1)的值。 c.用三阶Maclaurin多项式来代替每个三角函数,重做分题(b)。 d.实际值为f(0.1)=-1.99899998。对于分题(b)和(c)所得到的值,计算相对误差。 12.设f(x)=e-e a.求im(e-e)/xo b.使用3位舍人算术来求f(0.1)的值 c,用三阶Maclaurin多项式来代替每个指数函数,重做分题(b)。 d.实际值为f(0.1)=2.003335000。对于分题(b)和(c)所得到的值,计算相对误差。 13.使用4位舍入算术和例5的公式来求出下面二次方程根的最精确近似值。计算绝对误差和相对误差 a.2-x+=0 b.号2+-名=0 c.1.002x2-11.01x+0.01265=0d.1.002x2+11.01x+0.01265=0 14.使用4位截断算术重做第13题。 15.使用64-bit长实数格式来求出下面浮点机器数的等值十进制数。 &.0100000010101001001100000000000000000000000000000000000000000000 b.1100000010101001001100000000000000000000000000000000000000000000 c.0011111111110101001100000000000000000000000000000000000000000000 d.0011111111110101001100000000000000000000000000000000000000000001 16.对于第15题给定的数,求出下一个最大的和最小的十进制形式的机器数。 17.假设两点(x0%)和(x1,y)在一条直线上,且为≠。下面两个公式用于求出直线的x-截距: x=0当二和x=0-二出 yI yo y1-y% a.证明两个公式在代数上是正确的。 b.使用数据(x0,%)=(1.31,3.24),(x1,y1)=(1.93,4.76)和3位舍入算术,用两种方式计算x-截距。 哪种方法更好?为什么?
1,2舍入误差和计算机算术 25 18.f(x)=e的n阶Taylor多项式是∑(x/i)。使用9阶Taylor多项式和3位截断算术通过下面的方 法来求出e5的近似值。 1 c.精确到3位数字的e3的近似值是6.74×103。(a)和(b)中哪个公式更精确?为什么? 19.2×2的线性方程组 ax+by=e cx+dy=f 这里a,b,c,d,e,f为给定的数,可按以下方式求解x和y: 令m=台,前提条件a0 d=d-mb f方=f-me x=(e-by) a 使用4位舍人算术解下面的线性方程组。 a.1.130x-6.990y=14.20 b.1.013x-6.099y=14.22 c.8.110x+12.20y=-0.1370 d.-18.11x+112.2y=-0.1376 20.使用4位截断算术重做第19题。 21,a.证明例6中所述的多项式嵌套技术也可用于方程 f(x)=1.01e2-4.62er-3.11e2+12.2e2-1.99 b.使用3位舍人算术和假设e”=4.62及e=(e)”的事实,来求分题(a)的f(1.53)的值。 c.首先对计算进行嵌套,重做分题(b)的运算。 d.将在分题(b)和(c)中得到的近似值与真正的3位数结果f(1.53)=一7.61进行比较。 22.测量到最近的厘米数,一长方体的3边边长为3cm、4cm和5cm。这个长方体体积的最好上界和下界 是什么?其表面积的最好上界和下界是什么? 23.设P.(x)是反正切函数的n阶Maclaurin多项式。使用具有75位十进制数字的Maple来求出用下面 的公式近似计算π到10”精度所需的值。 .4[P.()+p.(号)] b.16P.(宁)-4p.() 24.假设(y)是对y的k位舍人近似。证明 22|<0.5×10 [提示:如果d,<5,则(y)=0.d1d2.d×10”。如果d≥5,则f(y)=0.d1d.d,×10+10-·。】 25.二项式系数 (g)m
26 第一章数学基础 描述了从m个元素的集合中选择k个对象的子集合的方法数目。 &,假定十进制机器数具有形式 ±0.d1d2dd,×10",1≤d1≤9,0≤d,≤9,若i=2,3,4和|n≤15 按定义对所有的k,二项式系数()可以计算出来而不致滋出的最大m值是什么? b.证明()也可由下式计算 ()(偿》() 。.二项式系数(☒)可以用分题(b)中的公式计算出来面不致滋出的最大m值是什么? d.使用(b)中的方程和4位截断算术来计算在一副52张的纸牌中可能的5张纸牌一手的数目。计算实际 误差和相对误差。 26.设函数f∈C[a,b],且其导数在(a,b)上存在。假设要求解f在(a,b)内的点x。的值,但不是计算实 际值f(xo),而是计算近似值了(xo)。(x)是∫在x。+e的实际值,即(x。)=f(x。+e)。 a.假设f(xo)≠0,使用中值定理来估计绝对误差|f(x)-了(x)川和相对误差|f(xo)-7(xa)川/ 1f(xo)l。 b.如果e=5×106和x0=1,对于下列函数求出绝对误差和相对误差的界值 (i)f(z)=e' (i)f(x)=snx c.用e=(5×10‘)x。和x0=10,重做分题(b)。 27.下面的Maple程序将浮点数x截取到t位。 chop:proc(x.t): if x"0 then0 else e:=trunc(evalf(log10(abs(x)))); if e>0 then e:=e+1 fi; x2:evalf(trunc(x*10(t-e))*10-11(e-t)); end: 验证上面的程序对于下列各值有效。 a.x=124.031,t=5 b.x=124.036,t=5 c.x=-124.031,t=5 d.x=-124.036,t=5 e.x=0.00653,t=2 f.x=0.00656,t=2 g.x=-0.00653,t=2 h.x=-0.00656,t=2 28.本章开篇的例子描述了一个涉及到在压力下气体的温度的物理实验。在这个应用中,给定P 1.00am,V=0.100m3,N=0.00420mol和R=0.08206。利用理想气体定律求T得到 (1.00)(0.100) T=原“0.04200.06206
1.3算法和收敛性 20 =290.15K=17℃ 通过实验发现在这些条件下T是15℃。当压力增大一倍且体积减小一半时,T是19℃。假设数据是精确到 给定位置的舍人值,证明对于理想气体定律两个实验结果都在精度范围内。 1.3算法和收敛性 在整本书中,将讨论涉及到一系列计算的逼近方法,称之为算法。算法是清楚地描述以特定 的次序执行的一系列有限步骤的方法。算法的目的是执行对问题求解或近似求解的程序。 可以用伪码来描述算法。伪码指定了要提供的输人形式和期望的输出形式。对于任意选择 的输入并不是所有的数值算法都给出满意的输出结果。因此,在每个算法中整合了不依赖于数 值技术的停机技术以避免死循环。 下面两个标点符号用在算法中: 句号(.)指明一步的结束, 分号(:)用来隔开一个步骤中的任务。 缩进写法用来指明一组语句被当作一个整体来处理。 算法中的循环技术或是计数器控制的,例如 For i=1,2,.,n Set =a,+i.h 或是条件控制的,例如 While i<N do Steps 3-6 为了允许条件执行,使用 If.then 或 f.then else 的标准结构。 算法的步骤遵循结构化程序设计的规则。它们已经适当排列,从而将伪码转换为任何适于 科学应用问题的程序设计语言应该没有困难。 算法中附有语句注释。它们用斜体字书写并包含在括号内以将其和算法语句区分开来。 例1计算户石+++此处N和数值西,为犯知)的算法精述如下。 输入N,x1,x2,xm0 输出SUM=方x Step1 Set SUM=0。(初始化累加器。)