1、四. 迭代法及其MATLAB程序,例:求方程 的一个正根.,构造迭代函数,迭代公式,基本思想: 由初始值, 代入迭代公式, 经过一定的迭代次数 k, 得到迭代序列xk, 以及相邻两次迭代的偏差piancha=|xk-xk-1|和它的相对误差xdpiancha=| xk-xk-1 |/|xk|的值.,当piancha1, xdpiancha0.5, k3时, 迭代序列发散, 重新输入新的迭代公式;,当piancha3时, 迭代序列收敛.,迭代法的MATLAB主程序1,输入的量: 初始值x0, 迭代次数 k 和迭代公式,运行后输出的量: 迭代序列 xk , 迭代k次得到的迭代值xk, 相邻两次迭代
2、的偏差 piancha=| xk-xk-1|和它的偏差的相对误差 xdpiancha=| xk-xk-1 |/|xk|的值.,迭代法的MATLAB主程序1,function k,piancha,xdpiancha,xk=diedai1(x0,k) % 输入的量-x0是初始值,k是迭代次数 x(1)=x0; for i=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) piancha xdpianch
3、a xk end if (piancha 1),例:求方程 的一个正根.,构造迭代函数,三种迭代函数,迭代公式,迭代公式,迭代公式,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),输入的量: 初始值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附近的近似根和它们的迭代次数,精确到 .,