资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,.,*,分类数学实验之,方程求近似实根问题,.,考虑方程,f,(,x,)=0 ,求根分为两步:,()先确定某个根的近似值;,()再将初始近似值加工成满足精度要求的结果。,.两分法迭代(理论基础:零点定理),设,f,(,x,),C,a,b,,,f,(,a,),f,(,b,)0。区间(,a,b,)就是方程,根的存在区间,再用下面的方法改善根的精度。,方程求根数值算法的基本思想,取,a,b,的中点,x,0,=(,a,+,b,)/2,若,f,(,x,0,)=0,则,x,0,即是根;,否则,,f,(,a,),f,(,x,0,)0,令,a,1,=,a,,,b,1,=,x,0,(取,a,b,的左半部);,f,(,x,0,),f,(,b,)0,令,a,1,=,x,0,,,b,1,=,b,(取,a,b,的右半部)。,.,a,b,f(a)f(a+b)/2),f(b),f(x),x,y,.,将上述做法重复,n,次,得到,n,个小区间,且,b,n,-,a,n,=(,b,-,a,)/2,n,,,a,b,经过一次这样对原区间a,b的处理,得到了一个新,的有根区间,a,1,b,1,,且,b,1,-,a,1,=(,b,-,a,)/2,,,a,b,a,1,b,1,。,.两分法迭代,当,n,足够大时即可达到满意的精度。,a,1,b,1,a,n,b,n,。,.,例1 求方程,x,3,+1.1,x,2,+0.9,x,1.4=0,的一个实根。使误差不超过10,-3,.两分法迭代,解,:(),首先观测图形,作f(x)的图像:,ezplot(x3+1.1*x2+0.9*x-1.4),x=-1:0.01:1;,y=x.3+1.1.*x.2+0.9.*x-1.4;%函数表达式,figure;,plot(x,y,LineWidth,2)%画出图形,hold on;,y1=zeros(size(x);%y10,plot(x,y1,r,LineWidth,4);,.,bisect.m,关于此程序的解释见“方程求根的代码解释”一文,()按两分法的思想,进行迭代求根。,为了使得程序具有通用性,将方程的表达式写成,一个函数:,function y=myequation(x);,y=x.3+1.1.*x.2+0.9.*x-1.4;,这样修改y的表达式,即可求出其他方程的实根。,(3)运行二分法的程序:,.,两分法迭代的加速:,a,b,f(a)f(a+b)/2),f(b),f(x),x,y,c,以f(a),f(b)的连线在x轴的交点作为新的出,发点。但此方法不一定能真正加速。,原理请详见教材p191。,程序:fastbisect.m,.,.不动点迭代,称满足方程 f(x)=x的点x为函数f的,不动点,.,求函数f的不动点。可以从一个初始点x,0,出发,以格式,x,n+1,=f(x,n,),进行迭代;,x,1,=,f,(,x,0,),,x,2,=,f,(,x,1,),,x,k,+1,=,f,(,x,k,),,得到,x,0,x,1,x,2,x,n,.,如果该数列是收敛的,则,.,将方程,f,(,x,)=0 ,化为等价方程,x,=,(,x,)(2),取某个定数,x,0,,做数列,x,n,,其中,,x,1,=,(,x,0,),,x,2,=,(,x,1,),,x,k,+1,=,(,x,k,),(3),设,(,x,)连续,且,a,就是方程,f,(,x,)=0的根。,a,就是函数,的一个不动点,即,a,=,(,a,),等价于,f,(,a,)=0,.,y=f,(,x,),x0,f(x,0,),x,1,=f(x,0,),f(x,1,),x,2,=f(x,1,),y=x,x,收敛的迭代:,.,发散的迭代:,x,0,.,.不动点迭代,例2 求方程,在,x,=3,附近的近似实根。,解:可将方程写成下三种形式:,x,=14,x,2,function f=iterfun(x),%f=14-x.2;,%f=14./(x+1);,f=x-(x.2+x-14)./(2*x+1);,(1)将三种迭代形式写成函数存起来:,(2)演示程序,使用的程序:,iter.m,.,.不动点迭代,收敛性蛛网图,一般地,若函数,(,x,),在含不动点的某邻域内一阶导,数连续,且,则存在一个邻域:,|-,x,|,对任何的,x,0,,,其迭代序列必收敛。,高级例子iterexample2.m请同学们自己消化,.,3.牛顿迭代法,记,a,b,为方程,f,(,x,)=0的根的存在区间,,f,(,a,)与,f,(,b,)异号,且对于每个,x,a,b,,,f,(,x,)0,f,(,x,)保持符号不变。,取,x,0,a,b,,对,f,(,x,)用微分中值定理,近似地,有,f,(,x,),p,(,x,)=,f,(,x,0)+,f,(,x,0)(,x,-,x,0),令,p,(,x,)=0,得到,f,(,x,)=0的近似根,记为,x,1,=,为改善根的精确程度,反复实施这一过程,得到牛顿迭代公式:,.,x,k,+1,就是从线性方程,f,(,x,k,)+,f,(,x,k,)(,x,x,k,)=0 (1),中解得的根,x,.,以点(,x,k,f,(,x,k,)为切点,曲线,y,=,f,(,x,)的切线,y,=,f,(,x,k,)+,f,(,x,k,)(,x,x,k,),(2),方程(2)与 y=0相联立,得到与x轴的交点,该交点,即,x,k,+1,.,x*,x,0,x,0,f(x,0,),x,1,x,1,f(x,1,),x,2,.,例3 求方程,在,x,0,=2,附近的近似实根。,准确到小数点后4位数字,解:,迭代公式为:,计算步骤如下:,(1)选x0=2,按照迭代公式计算x1;,(2)若|x1-x0|0.00001,x0=x1;,fun,dfun=fun0(x0);,x1=x0-fun/dfun;,i=i+1;,end,disp(the solution is x1=),x1,disp(the iter time is),i,newtuniter.m,.,
展开阅读全文