修改后的程序如下:

function [y, n] = bdd(x, eps) if nargin<1 error('Not enough input arguments.') end if nargin<2 eps=1.0e-8; end x1 = g(x);
n = 1;
fprintf('k=0, x=%f\n', x); while (abs(x1-x)>=eps)&&(n<=10000)
x = x1;
x1 = g(x);
n = n + 1; fprintf('k=%d, x=%f\n', n, x1); end y = x1; end

其中,增加了输出迭代初值及各次迭代值和迭代次数k的语句,以便观察迭代过程。同时,将判断条件由norm(x1-x)>=eps改为abs(x1-x)>=eps,使得迭代可以在|xk-xk-1|<10-8时停止。

修改下列程序计算到xk-xk-110-8为止输出迭代初值及各次迭代值和迭代次数k建立gm文件function f=gxf = x^2-3x+2-expx;修改后的bddm文件:function y n = bddx eps if nargin1 errorNot enough input argumentsendif nargin2 eps=10e-8;endx1 = gx; n =

原文地址: http://www.cveoy.top/t/topic/fbOH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录