习题课
1.假设x1?4.8675,x2?4.08675,x3?0.08675是由四舍五入得到的近似数,求下列各近似数的误差限:
(1)x1?x2?x3;(2)x1x2;(3)x1x2。
解:因为 e(x1)?12?10?4,e(x2)?12?10?5 ,e(x3)?12?10?5
(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)
12?4??10?12?10?5?12?10?5
?6?10?5(2)由e(x1x2)?x2e(x1)?x1e(x2)得 e(x1x2)?x2e(x1)?x1e(x2)
?x2e(x1)?x1e(x2)?4.08675?12?10?4?4?4.8675?12?10?5
?2.28675?10(3)由e(x1x2)?1x2e(x1)?x1x22e(x2)得
e(x1x21x2)?1x2e(x1)?x1x212?52x1x22e(x2)
??e(x1)?1?e(x2)?44.08675?10?4.86754.086752?12?10?5
?1.3692?10
2.用一元二次方程求根公式x1,2?299?b?b?4ac2a2在字长为8位的计算机上求一元二次方程
x??10?4?x?4?10?0的根,将求出的计算解与方程的准确解做对比,对你的计算结
果给出解释。
3.若ac??1,能否用常用的求根公式x1,2?说明及更好的求根公式。 4 说明把相对误差的计算公式er?x*?b?b2?4ac来求根?若不能,请给出
2a??e*?x?x*用公式
e*?x?x*来代替的合理性,并
xxx*x*指出这种替代的条件。
e22设x为精确值,x?为其近似值,证明:err?er?1?e?err1?er这里ex??xr(x)?x,ex??xr(x)?x?
证明: ?ex?xx??xr?er?x?x*
?(11*x?x*)(x?x)(x*??x)2
xx*因而 ?**e?x22xr?er?(xx*)?xx?er?x*?e(x)
?e212r??er1?e(x)1?e , e(x)?x??x,
rx*或, ex??xxxr?er?(x)2?x*?e2r?x?e(x)
2?e21?err?1?e(x)1?e
rx5.设n次多项式
Pn(x)?anxn?an?1xn?1?????a1x?a0
试构造一个计算Pn(x)的算法,使其计算量尽可能小。
6.设y0?28,按递推公式 yn?yn?1?1100783,n?1,2,???
计算到y100,若取783?27.982(5位有效数字),试问计算到y100将有多大误差?
1??yn?yn?1?783解 ?100?y0?28???yn?28?设 ??1?yn?yn?1??27.982,?100?n?1,2,?? (1)
n?1,2,??? (2)
?记en?yn?yn,将(1)和(2)相减,得
e0?0??1 ?en?en?1??(783?27.982),?100?n?1,2,???
递推可得 en??因而
e100??(783?27.982)n100(783?27.982),n?1,2,???
e100?12?10?3
非线性方程求根
1.怎样用四则运算求nA?A为已知数。
2证明对任意初始值x0??,1?,由不动点迭代xk?1?2?3?收敛于方程x?223?x?1??xk,k=0,1,2,……产生的序列?xk?都
在?,1?的唯一根p。若要求p的近似值的误差不超过10(取初始值
3???1??4x0?),试估计迭代次数。
解:对迭代法xk?1???xk??2?xk有迭代公式??x??2?x
则???x???2?xln2对x??1?有???x???2?xln2?[0.34657, 0.8733 1] ?3,1???所以有???x???2?xln2≤0.87331<1 取 L=0.87331
23?23取初始值x0? 则x1?2?x0?2?0.62996
为使解p的近似值xk的误差不超过10?4,根据误差估计式:
Lk xk?p?Lk1?Lx1?x0,
只要 因此k应取为
1?Lx1?x0?10?4。
lg10?4?lglgLx1?x01?L k?
≈
?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,
*?4x0?[a,b],但x0?x,则由
xk?1???xk?,产生的迭代序列?xk?单调收敛于
*k?0,1,2...
x*。
***证明:因为x???x?在?a,b?上有根x,故有x???x设x?x0?b,则由
*?
*x1?x???x0????x**??????0??x0?x?
及0????x??1知
0?x1?x?x0?x
于是
**x?x1?x0
同理可得x?x2?x1,?,x?xk?1?xk,因而所以
****x?xk??单调下降并以为下界, k?0limxk存在,记为x,由0????x??1知方程在?a,b?内的根是唯一的,显然有
k??**x=x。所以 limxk?x
k??
4.设函数f(x)的导数满足0?m?f(x)?M',且f(x)?0的根存在,
x任意,证明:
任取??(0,2M),迭代格式xk?1?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???2M得
0??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迭代公式:
f(x xk)k?1?xk?f'(x)
kx3k?a
?xk?6x2k 3k?a(2)
?xk?1?xk?x6x2k
3?a?令?(x)?x?x6x2
又可知x??3a是f(x)?0的根,
?必存在x?的某个邻域,使?(x)连续可微
且 ?'(x)?56?a3x3
??'(x?)?12
?|?'(x?)|?12?1
k?0,1,2,??
?根据定理可知:存在??0,只要初值x0满足|x?x|??,迭代
?{x}序列k就收敛于x。(局部收敛)
得证。
?'(x)??12?0,是线性收敛。(重根)