如何在MATLAB / OCTAVE上实现和修改牛顿法?

时间:2019-04-04 09:57:59

标签: matlab

我正在尝试实现牛顿方法。 2阶迭代方法,并将其调整为计算引数(x = 1-e ^(-2x)具有4个精确小数点的非零解。

我无法弄清楚输出的外观。我尝试实现一种方法,以初始近似值找到零更好的近似值。

function [x , res , xvec , resvec] = newton( f, df, x0, maxiter, tol )

function x(k) = newton( f, df, x0, maxiter, tol )
k(1:maxiter)
f = @x(k)
df = @(x(k))'
x(k)= x0-(f(x0)/df(x0))
x(k+1) = x(k) - (f(x(k))/df(x(k)))
end
while (iter < maxiter)
  while (abs(f(n)-(f(n-1)) > tol)
    x(1)= x0-(f(x0)/df(x0))
  elseif (iter > maxiter) 
    error('maximum amount of iterations exceeded')
  end
end
fprintf('step(k)      x(k)       |f(xk)|     |x(k+1)-x(k)|')
fprintf('------    -----------  ---------    -------------\n')
fprintf('%d %d %.4f %.4f\n', k, x(k), mod(f(xk)), mod(x(k+1)−x(k)) )

我希望向我展示qpproximation达到4 deciamls的结果

0 个答案:

没有答案