资源描述:
《迭代法及matlab实现.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、四.迭代法及其MATLAB程序例:求方程的一个正根.构造迭代函数迭代公式基本思想:由初始值,代入迭代公式,经过一定的迭代次数k,得到迭代序列{xk},以及相邻两次迭代的偏差piancha=
2、xk-xk-1
3、和它的相对误差xdpiancha=
4、xk-xk-1
5、/
6、xk
7、的值.当piancha>1,xdpiancha>0.5,k>3时,迭代序列发散,重新输入新的迭代公式;当piancha<0.001,xdpiancha<0.0000005,k>3时,迭代序列收敛.迭代法的MATLAB主程序1输入的量:初始值x0,迭代次数k和迭代公式运行后输出的量:迭代序列{xk},迭代k次得
8、到的迭代值xk,相邻两次迭代的偏差piancha=
9、xk-xk-1
10、和它的偏差的相对误差xdpiancha=
11、xk-xk-1
12、/
13、xk
14、的值.迭代法的MATLAB主程序1function[k,piancha,xdpiancha,xk]=diedai1(x0,k)%输入的量--x0是初始值,k是迭代次数x(1)=x0;fori=1:kx(i+1)=fun1(x(i));%程序中调用的fun1.m为函数y=φ(x)piancha=abs(x(i+1)-x(i));xdpiancha=piancha/(abs(x(i+1))+eps);i=i+1;xk=x(i);[(i-1)p
15、ianchaxdpianchaxk]endif(piancha>1)&(xdpiancha>0.5)&(k>3)disp('请用户注意:此迭代序列发散,请重新输入新的迭代公式')return;endif(piancha<0.001)&(xdpiancha<0.0000005)&(k>3)disp('祝贺您!此迭代序列收敛,且收敛速度较快')return;endp=[(i-1)pianchaxdpianchaxk]';例:求方程的一个正根.构造迭代函数三种迭代函数迭代公式迭代公式迭代公式3.用迭代法求解方程f(x)=0在(a,b)内的近似根的步骤步骤1.建立名为fun1.m
16、的M文件如:步骤2.步骤3.在matlab工作窗口输入程序:functiony1=fun1(x)y1=f(x);将迭代法的主程序保存名为diedai1.m的M文件;>>[k,piancha,xdpiancha,xk]=diedai1(x0,k)输入的量:初始值x0,迭代次数k运行后输出的量:迭代k次得到的迭代值xk,相邻两次迭代的偏差piancha=
17、xk-xk-1
18、和偏差的相对误差xdpiancha=
19、xk-xk-1
20、/
21、xk
22、的值.迭代法的几何解释:迭代法的几何解释3.用迭代法求解方程f(x)=0在(a,b)内的近似根的步骤步骤1.建立名为fun1.m的M文件如:步骤
23、2.步骤3.在matlab工作窗口输入程序:functiony1=fun1(x)y1=f(x);将迭代法的主程序保存名为diedai1.m的M文件;>>[k,piancha,xdpiancha,xk]=diedai1(x0,k)练习:用迭代法求方程xex=1在0.5附近的近似根和它们的迭代次数,精确到.