1习题一1.设x0相对误差为2%,求x,4x的相对误差。解:由自变量的误差对函数值引起误差的公式:(())(())'()()()()fxxfxfxxfxfx得(1)()fxx时11()()'()()*2%1%22xxxxxx;(2)4()fxx时444()()'()4()4*2%8%xxxxxx2.设下面各数都是经过四舍五入得到的近似数,即误差不超过最后一位的半个单位,试指出他们各有几位有效数字。(1)12.1x;(2)12.10x;(3)12.100x。解:由教材9P关于1212.mnxaaabbb型数的有效数字的结论,易得上面三个数的有效数字位数分别为:3,4,53.用十进制四位浮点数计算(1)31.97+2.456+0.1352;(2)31.97+(2.456+0.1352)哪个较精确?解:(1)31.97+2.456+0.135221((0.3197100.245610)0.1352)flfl=2(0.3443100.1352)fl=0.3457210(2)31.97+(2.456+0.1352)21(0.319710(0.245610))flfl=21(0.3197100.259110)fl=0.3456210易见31.97+2.456+0.1352=0.345612210,故(2)的计算结果较精确。4.计算正方形面积时,若要求面积的允许相对误差为1%,测量边长所允许的相对误差限为多少?2解:设该正方形的边长为x,面积为2()fxx,由(())(())'()()()()fxxfxfxxfxfx解得(())()()'()fxfxxxfx=2(())(())22fxxfxxx=0.5%5.下面计算y的公式哪个算得准确些?为什么?(1)已知1x,(A)11121xyxx,(B)22(12)(1)xyxx;(2)已知1x,(A)211()yxxxxx,(B)11yxxxx;(3)已知1x,(A)22sinxyx,(B)1cos2xyx;(4)(A)980y,(B)1980y解:当两个同(异)号相近数相减(加)时,相对误差可能很大,会严重丧失有效数字;当两个数相乘(除)时,大因子(小除数)可能使积(商)的绝对值误差增大许多。故在设计算法时应尽量避免上述情况发生。(1)(A)中两个相近数相减,而(B)中避免了这种情况。故(B)算得准确些。(2)(B)中两个相近数相减,而(A)中避免了这种情况。故(A)算得准确些。(3)(A)中2sinx使得误差增大,而(B)中避免了这种情况发生。故(B)算得准确些。(4)(A)中两个相近数相减,而(B)中避免了这种情况。故(B)算得准确些。6.用消元法求解线性代数方程组1515121210102xxxx假定使用十进制三位浮点数计算,问结果是否可靠?解:使用十进制三位浮点数计算该方程则方程组变为1161612111120.100100.100100.10010(1)0.100100.100100.20010(2)xxxx(1)-(2)得161620.100100.10010x,即120.10010x,把2x的值代入(1)得10.000x;把2x的值代入(2)得110.10010x3解1110.1001020.00010xx不满足(2)式,解1110.1001020.10010xx不满足(1)式,故在十进制三位浮点数解该方程用消元法计算结果不可靠。7.计算函数32()331fxxxx和()((3)3)12.19gxxxxx在处的函数值(采用十进制三位浮点数计算)。哪个结果较正确?解:110657.010480.0310219.010480.0)19.2(1111f110657.010144.010105.0122=10.16710)19.2(g110219.0)310219.0)81.0((11110219.010123.011=10.16910即1()0.16710fx,1()0.16910gx而当2.19x时32331xxx的精确值为1.6852,故()gx的算法较正确。8.按照公式计算下面的和值(取十进制三位浮点数计算):(1)6113ii;(2)1613ii。解:(1)623456111111113333333ii=0.3330.1110.0370.0120.0040.001489.0(2)165432611111113333333ii=0.0010.0040.0120.0370.1110.333489.09.已知三角形面积1sin2SabC,其中02C。证明:()()()()SabC。证明:由自变量的误差对函数值的影响公式:1212112(,,,)((,,,))()(,,,)ninniinixfxxxfxxxxfxxxx。得(,,)(,,)(,,)((,,))()()()(,,)(,,)(,,)aSabCbSabCCSabCSabCabCSabCaSabCbSabCC()sin()sin()cos()sinsinsinabCSbCaaCbabCCabCabCabC4=()()()CabCtgC()()()abC(当02C时,CtgC),命题得证。5习题二1.找出下列方程在0x附近的含根区间。(1)cos0xx;(2)3cos0xx;(3)sin()0xxe;(4)20xxe;解:(1)设()cosfxxx,则(0)1f,(1)-0.4597f,由()fx的连续性知在1,0x内,()fx=0有根。同题(1)的方法可得:(2),(3),(4)的零点附近的含根区间分别为0,1;0,2;0,12.用二分法求方程sin10xx在0,2内的根的近似值并分析误差。解:令()sin1fxxx,则有(0)10f,(2)0.81860f,'()sincos0fxxxx,0,2x所以函数()fx在0,2上严格单调增且有唯一实根x。本题中求根使得误差不超过410,则由误差估计式12||kkabx,所需迭代次数k满足4110202k,即取28.13k便可,因此取14k。用二分法计算结果列表如下:kkakbkx)(kxf0021-0.15851121.50.4962211.51.250.1862311.251.1250.015051411.1251.0625-0.071851.06251.1251.09375-0.0283561.093751.1251.109375-0.0066471.1093751.1251.11718750.00420881.1093751.11718751.11328125-0.00121691.113281251.11718751.1152343750.001496101.113281251.1152343751.11425781250.001398111.113281251.11425781251.11376953125-0.0005386121.113769531251.11425781251.114013671875-0.000199131.1140136718751.11425781251.1141357421875-0.0000297141.11413574218751.11425781251.114196777343750.000055由上表可知原方程的根7343751.1141967714x该问题得精确解为08711.11415714,故实际误差为0000396.03.判断用等价方程()xx建立的求解的非线性方程32()10fxxx在1.5附近的根的简单迭代法1()kkxx的收敛性,其中(A)2()11/xx;(B)32()1xx;(C)1()1xx解:取1.5附近区间1.3,1.6来考察。(A)21()1xx,显然当0x时,()x单调递减,而(1.3)1.59171596,(1.6)1.390625,因此,当1.3,1.6x时,()1.3,1.6x。又当1.3,1.6x时,3322'()0.9211.3xx,由迭代法收敛定理,对任意初值1.3,1.6x,迭代格式1211kkxx,(0,1,2,)k收敛。(B)132()(1)xx,则(1.3)1.390755416,(1.6)1.526921344,22312'()03(1)xxx(0)x,所以当1.3,1.6x时,()1.3,1.6x。又当1.3,1.6x时,222233221.6'()0.552133(1)(11.3)xxx,由迭代法收敛定理,对任意初值1.3,1.6x,迭代格式1231(1)kkxx,(0,1,2,)k收敛。(C)1()1xx,由于当1.3,1.6x时,有7332211'()1.07582870612(1)2(1.61)xx,所以对任意初值1.3,1.6x(原方程的根除外),迭代格式111kkxx(0,1,2,)k发散。4.确定()xx的简单迭代法1()kkxx的收敛区间,ab。如果收敛,试估计使精度达到410时所需的迭代次数并进行计算。(A)22()3xexx;(B)25()2xx;(C)sincos()2xxx解:(A)方程为0322xxex,设xxexfx32)(2,则01)0(f,0-0.8987)5.0(f,故有根区间为]5.0,0[,题中22()3xexx,3333.0|302||32||)('|0eexxx故迭代公式22()3xexx在含根区间]5.0,0[内收敛。(B)方程为05223xx,设52)(23xxxf,则0-1.875)5.2(f,04)3(f,故有根区间为]3,5.2[,题中25()2xx,10.64|5.210||10||)('|33xx故迭代公式25()2xx在含根区间]3,5.2[内收敛。(C)方程为02cossinxxx,设xxxxf2cossin)(,则01)0(f,0-0.6182)1(f,故有含根区间]1,0[,题中sincos()2xxx,15.0|20sin0cos||2sincos||)('|xxx7.建立利用方程30xc求3(0)cc的Newton迭代格式,并讨论算法的收敛性。8解:牛顿迭代格式为:23231323)(')(kkkkkkkkkxcxxcxxxfxfxx令cxxf3)(,因为当0x时,03)('2xxf,06)(''xxf,故对于任何满足0)(30cxxf,即30cx的初值0x,上述Newton迭代产生的迭代序列收敛于3c。8.建立利用方程20cxx求3(0)cc的Newton迭代格式,并讨论算法的收敛性。解:牛顿迭代格式为:cxcxxcxcxxxfxfxxkkkkkkk2321)(')(3321令2()cfxxx,因为当0x时,021)('3xcxf,06)(''4xcxf故对于