本报告研究了用数值方法研究下列方程的实根:(1)2320xxxe(2)32210200xxx方程1我们首选考虑方程(1)的不动点迭代格式()xx其中21()23xxxe不动点的存在性考虑区间[0,0.5],由21()23xxxe单调,则有12111([0,0.5])2,[0,0.5]343e对于其上的任意两点01,xx,由三角不等式:0122010113xxxxxxee由2201xx=010101xxxxxx以及指数函数的下凸性:01120122xxeeexx我们得到1201012133xxexx由12210.7658133Le则()x在区间[0,0.5]存在唯一不动点*x斯特芬森迭代法的收敛性由'123xxxe在区间[0,0.5]恒不等于1,且1''23xxe显然在区间上存在,又由上文已证明的不动点存在唯一性,则斯特芬森迭代法必收敛于不动点*x计算结果在精度要求:8110kkxx下,计算结果为(MATLAB代码见附录):*x0.257530285439861比较各种初值下的迭代次数:初值迭代次数0.540.430.330.230.1404我们看到计算其实是非常高效的。牛顿迭代法利用牛顿迭代法(代码见附录)得到相同精度的结果,初值和迭代次数如下:初值迭代次数0.540.440.330.230.1404我们知道精确值约为0.2575,从表中可见迭代次数在初值接近精确值时迭代次数较少,而远离精确值时较大。方程2选取方程2的不动点迭代格式()xx其中321()20210xxx由同样方式可得其存在唯一不动点以及斯特芬森迭代法收敛,且有计算结果:*x1.3688081078213初值迭代次数1.541.441.341.241.1415牛顿迭代法牛顿迭代法得到相同精度的结果,初值和迭代次数如下:初值迭代次数1.541.441.341.241.1415对于此算例而言,两者的实际计算迭代次数是一样的。结论两种迭代方法在计算过程中迭代次数无明显差异,均非常高效。从方法构成上,不动点迭代需要事先确定迭代区间,以确保不动点存在且唯一(对于某些迭代格式,如不确定区间,会导致收敛到虚数不动点的情况)。而对于牛顿方法,则通过计算过程来确定收敛性,但牛顿方法需要事先知道迭代函数的导函数,这在使用上会招致诸多不便。总之,两种方法各有利弊,酌情考虑。附录:function[x,times]=fixed_point(f,x0,err)x=x0;y=f(x0);x=x-(y-x)^2/(f(y)-2*y+x);times=1;while(abs(x-x0)=err)x0=x;y=f(x);x=x-(y-x)^2/(f(y)-2*y+x);times=times+1;endfunction[x,times]=newton(f,df,x0,err)x=x0-f(x0)/df(x0);times=1;while(abs(x-x0)err)x0=x;x=x0-f(x0)/df(x0);times=times+1;end