迭代法及matlab实现.ppt
文本预览下载声明
* 四. 迭代法及其MATLAB程序 例:求方程 的一个正根. 构造迭代函数 迭代公式 基本思想: 由初始值, 代入迭代公式, 经过一定的迭代次数 k, 得到迭代序列{xk}, 以及相邻两次迭代的偏差piancha=|xk-xk-1|和它的相对误差xdpiancha=| xk-xk-1 |/|xk|的值. 当piancha1, xdpiancha0.5, k3时, 迭代序列发散, 重新输入新的迭代公式; 当piancha0.001, xdpiancha0.0000005, k3时, 迭代序列收敛. 迭代法的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是初始值,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 xk] end if (piancha 1)(xdpiancha0.5)(k3) disp(请用户注意:此迭代序列发散,请重新输入新的迭代公式) return; end if (piancha 0.001)(xdpiancha 0.0000005)(k3) disp(祝贺您!此迭代序列收敛,且收敛速度较快) return; end p=[(i-1) piancha xdpiancha 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) 输入的量: 初始值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附近的近似根和它们的迭代次数,精确到 . *
显示全部