我正在使用一个程序,该程序在包含方程组和雅可比行列式的m文件上实现牛顿方法
function x = fun(x,mode)
% compute F(x)
if mode == 1
x = [ 3*x(1)^2 + 5*x(2)^2 + x(2) - 1;
x(1)^2 - 6*x(1) - 3*x(2) - 2];
end
% compute the Jacobian DF(x)
if mode == 2
x = [ 1*x(1) 3*x(2)+1; 6*x(1)-2 -2];
end
return;
这是我开始的计算文件:
results.stat = 0;
if nargin == 3
epsilon = param.epsilon;
nMax = param.nMax;
else
epsilon = 1.0e-8;
nMax = 500;
end
F = fun(x,1)
J = fun(x,2)
end
for k = 1:nMax
dx = -J\f
x=x+dx
我最终想要检查收敛并保存错误规范,并检查是否达到最大迭代计数而没有收敛。这到目前为止看起来不错吗?