习题课
1.假设x1?4.8675,x2?4.08675,x3?0.08675是由四舍五入得到的近似数,求下列各近似数的误差限:
(1)x1?x2?x3;(2)x1x2;(3)x1x2。 解:因为 e(x1)?111?10?4,e(x2)??10?5 ,e(x3)??10?5 222(1) 由e(x1?x2?x3)?e(x1?x2)?e(x3)?e(x1)?e(x2)?e(x3)得
e(x1?x2?x3)?e(x1)?e(x2)?e(x3) ?e(x1)?e(x2)?e(x3)
111??10?4??10?5??10?5 222?6?10?5(2)由e(x1x2)?x2e(x1)?x1e(x2)得
e(x1x2)?x2e(x1)?x1e(x2) ?x2e(x1)?x1e(x2)11?4.08675??10?4?4.8675??10?5
22?2.28675?10?4(3)由e(x11x)?e(x1)?1e(x2)得 2x2x2x2e(x11x)?e(x1)?1e(x2) 2x2x2x2??1xe(x1)?1e(x2)2x2x2114.86751??10?4???10?5 24.0867524.086752?1.3692?10?5
?b?b2?4ac2.用一元二次方程求根公式x1,2?在字长为8位的计算机上求一元二次方程
2ax2??109?4?x?4?109?0的根,将求出的计算解与方程的准确解做对比,对你的计算结
果给出解释。
3.若ac??1,能否用常用的求根公式x1,2说明及更好的求根公式。
?b?b2?4ac来求根?若不能,请给出?2ae*x*?xe*x*?x?4 说明把相对误差的计算公式er?x??用公式*?来代替的合理性,并xxxx**指出这种替代的条件。
设x为精确值,x为其近似值,
?erer2?证明:er?er?1?er1?er
2x??xx??x,er(x)?这里er(x)? xx?证明:
x??xx??xer?er??*xx
11?(?*)(x*?x)xx *2(x?x)?xx*因而
2x??x2x*x* er?er?(*)??er?*xxx?e(x)21er??er?? , e(x)?x?x,
e(x)1?er1?*x2或,
x??x2xx er?er?()?*?er2?xxx?e(x)er21?er??
e(x)1?er1?x25.设n次多项式
Pn(x)?anxn?an?1xn?1?????a1x?a0
试构造一个计算Pn(x)的算法,使其计算量尽可能小。
6.设y0?28,按递推公式 yn?yn?1?1783,100n?1,2,???
计算到y100,若取783?27.982(5位有效数字),试问计算到y100将有多大误差?
1??yn?yn?1?783解 ?100?y0?28???y0?28?设 ??1?y?y??27.982,n?1?n100?n?1,2,?? (1)
n?1,2,??? (2)
?记en?yn?yn,将(1)和(2)相减,得
e0?0??1 ?e?e??(783?27.982),nn?1?100?递推可得 en??因而
n?1,2,???
n(783?27.982),100n?1,2,???
e100??(783?27.982)
e1001??10?32
非线性方程求根
1.怎样用四则运算求nA?A为已知数。
2若已知对任意初始值x0??,1?,由不动点迭代xk?1?2?1??3??xk,k=0,1,2,……产生的序列?xk?都收敛于方程x?2在?,1?的唯一根p。若要求p的近似值的误差不超过10(取初始
3??值x0?
解:对迭代法xk?1???xk??2?xk?x?1??42),试估计迭代次数。 3有迭代公式??x??2
?x?x则???x???2?xln2对x??,1?有???x???2ln2?[0.34657, 0.8733 1]
?1??3??x所以有???x???2ln2≤0.87331<1 取 L=0.87331
2?2?x0取初始值x0? 则x1?2?23?0.62996
3为使解p的近似值xk的误差不超过10,根据误差估计式:
?4Lkx1?x0, xk?p?1?LLkx1?x0?10?4。 只要
1?L因此k应取为
lg10?4?lg k?lgLx1?x01?L
?0.66667?0.62996??4?lg??1?0.87331??
≈
lg0.87331 ≈58.84667
取k=59.于是迭代59次必可使近似解的误差不超过10
3.证明: 设??x?在?a,b?上连续可微,且0????x??1,x???x?在?a,b?上有根x*?4,
x0?[a,b],但x0?x*,则由
xk?1???xk?,*x产生的迭代序列?xk?单调收敛于。
k?0,1,2...
证明:因为x??设x*?x?在?a,b?上有根x*,故有x*???x*?
x1?x*???x0????x*??????0?x0?x*
?x0?b,则由
??及0????x??1知
0?x1?x*?x0?x*
于是
x*?x1?x0
同理可得x所以limk??*?x2?x1,,x*?xk?1?xk,因而?xk?k?0单调下降并以x?*为下界,
xk存在,记为x,由0????x??1知方程在?a,b?内的根是唯一的,显然有
xk?x* x=x*。所以 limk??
4.设函数f(x)的导数满足0?m?f'(x)?M,且f(x)?0的根存在,
x任意,证明:
任取??(0,2),迭代格式xk?1M?xk??f(xk)
*对任意初值x0均收敛于f(x)?0的根x。 证明:由题意可取定义域为R。
由于f'(x)?0,f'(x)?0为单调函数,又f(x)?0的根存在,
*所以方程f(x)?0的根x是唯一的。
由迭代格式xk?1?xk??f(xk)可以得到迭代函数
?(x)?x??f(x)且|?'(x)|?|1??f'(x)|
又0?m?f'(x)?M及0???2得 M0??m??f'(x)??M?2
所以有 ?1?1??M?1??f'(x)?1??m?1 故 |?'(x)|?L?max{|1??m|,|1??M|}?1 此外,显然有?x?R???x??R
由定理知迭代xk?xk?1??f(xk?1)??(xk?1)对任意初值x0均收敛于
f(x)?0的根x。
*
323.设f(x)?(x?a)
(1)写出解方程f(x)?0的Newton迭代公式; (2)证明迭代格式是收敛的。
解:(1)
f(x)?(x3?a)2
?f'(x)?6x2(x3?a)
构造Newton迭代公式:
xk?1?xf(xk)k?f'(x
k) ?xx3k?ak?6x2k xx3k?a(2)
k?1?xk?6x2k
?x)?x?x3?a令?(6x2
又可知x??3a是f(x)?0的根,
?必存在x?的某个邻域,使?(x)连续可微 且 ?'(x)?56?a3x3
??'(x?)?12
?|?'(x?)|?12?1
k?0,1,2,
根据定理可知:存在??0,只要初值x0满足|x?x?|??,迭代
?{x}x序列k就收敛于。(局部收敛)
得证。
1?'(x)??0,是线性收敛。(重根)
2?