欢迎来到天天文库
浏览记录
ID:57705614
大小:17.00 KB
页数:2页
时间:2020-09-01
《不动点迭代法非线性方程求解.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、不动点迭代法非线性方程求解求方程f(x)=0的根,可以先把方程组改写成如下形式:x=f(x)+x于是得到不动点迭代法的一种迭代公式:Xn=f(Xn-1)+Xn-1此种不动点迭代法很可能不收敛,因为它的本质是求函数y=f(x)+x与直线y=x的交点,而他们不一定存在交点。即使收敛,其速度也十分慢,因此有了艾肯特加速迭代与斯蒂芬森加速迭代。在MATLAB中编程时显得不动点迭代法的函数为:StablePoint。功能:用不动点迭代法求函数的一个零点。调用格式:[root,n]=StablePoint(f,xo
2、,eps)。其中,f为函数名:x0为初始迭代向量:eps为根的精度:root为求出的函数零点:n为迭代步数。不动点迭代法的MATLAB程序代码如下:Function[root,n]=StablePoint(f,x0,eps)%用不动点迭代法求函数的一个零点%初始迭代向量:x0%根的精度:eps%求出的函数零点:root%迭代步数:nIf(nargin==2)eps=1.0e-4;endtol=1;root=x0;n=o;while(tol>eps)r1=root;n=n+1;root=subs(sym(
3、f),findsym(sym(f)),r1)+r1;tol=abs(root-r1);end例7-6不动点迭代法求解非线性方程应用时实例。采用不动点迭代法求方程。解:在MATLAB窗口命令中输入:>>[r,n]=StablePoint(‘1/sqrt(x)+x-2’,0.5)R=0.3820从计算结果中可以看出,经过四步碟算得出方程为x=0.3820
此文档下载收益归作者所有