《迭代法及matlab实现.ppt》由会员分享,可在线阅读,更多相关《迭代法及matlab实现.ppt(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、四四.迭代法及其迭代法及其MATLAB程序程序 例例:求方程求方程 的一个正根的一个正根.构造迭代函数构造迭代函数迭代公式迭代公式基本思想基本思想:由初始值由初始值,代入迭代公式代入迭代公式,经过一定的迭代次数经过一定的迭代次数 k,得到迭代序列得到迭代序列xk,以及相邻两次迭代的偏差以及相邻两次迭代的偏差piancha=|xk-xk-1|和它的相对误差和它的相对误差xdpiancha=|xk-xk-1|/|xk|的值的值.当当piancha1,xdpiancha0.5,k3时时,迭代序列发散迭代序列发散,重新输入新的迭代公式重新输入新的迭代公式;当当piancha0.001,xdpianch
2、a3时时,迭代序列收敛迭代序列收敛.迭代法的迭代法的MATLAB主程序主程序1 输入的量输入的量:初始值初始值x0,迭代次数迭代次数 k 和迭代公式和迭代公式 运行后输出的量运行后输出的量:迭代序列迭代序列 xk,迭代迭代k次得到的次得到的迭代值迭代值xk,相邻两次迭代的偏差相邻两次迭代的偏差 piancha=|xk-xk-1|和和它的偏差的相对误差它的偏差的相对误差 xdpiancha=|xk-xk-1|/|xk|的值的值.迭代法的迭代法的MATLAB主程序主程序1 function k,piancha,xdpiancha,xk=diedai1(x0,k)%输入的量输入的量-x0是初始值是初
3、始值,k是迭代次数是迭代次数x(1)=x0;for i=1:k x(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)piancha xdpiancha xkendif(piancha 1)&(xdpiancha0.5)&(k3)disp(请用户注意:此迭代序列发散,请重新输入新的迭代请用户注意:此迭代序列发散,请重新输入新的迭代公式公式)return;end if(piancha 0.001)&(x
4、dpiancha3)disp(祝贺您!此迭代序列收敛,且收敛速度较快祝贺您!此迭代序列收敛,且收敛速度较快)return;endp=(i-1)piancha xdpiancha xk;例例:求方程求方程 的一个正根的一个正根.构造迭代函数构造迭代函数三种迭代函数三种迭代函数迭代公式迭代公式迭代公式迭代公式迭代公式迭代公式3.用迭代法求解方程用迭代法求解方程f(x)=0在在(a,b)内的近似根的步内的近似根的步骤骤 步骤步骤1.建立名为建立名为fun1.m的的M文件如文件如:步骤步骤2.步骤步骤3.在在matlab工作窗口输入程序工作窗口输入程序:function y1=fun1(x)y1=f(
5、x);将迭代法的主程序保存名为将迭代法的主程序保存名为diedai1.m的的M文件文件;k,piancha,xdpiancha,xk=diedai1(x0,k)输入的量输入的量:初始值初始值x0,迭代次数迭代次数 k运行后输出的量运行后输出的量:迭代迭代k次得到的迭代值次得到的迭代值xk,相邻两次迭相邻两次迭代的偏差代的偏差 piancha=|xk-xk-1|和偏差的相对误差和偏差的相对误差 xdpiancha=|xk-xk-1|/|xk|的值的值.迭代法的几何解释迭代法的几何解释:迭代法的几何解释迭代法的几何解释 3.用迭代法求解方程用迭代法求解方程f(x)=0在在(a,b)内的近似根的步内的近似根的步骤骤 步骤步骤1.建立名为建立名为fun1.m的的M文件如文件如:步骤步骤2.步骤步骤3.在在matlab工作窗口输入程序工作窗口输入程序:function y1=fun1(x)y1=f(x);将迭代法的主程序保存名为将迭代法的主程序保存名为diedai1.m的的M文件文件;k,piancha,xdpiancha,xk=diedai1(x0,k)练习练习:用迭代法求方程用迭代法求方程 xex=1 在在0.5附近的近似根和它们的附近的近似根和它们的迭代次数,精确到迭代次数,精确到 .
限制150内