我正在尝试编写一个使用Newton's Method to solve a system of nonlinear equations
的函数功能:
[roots, count, resids, history] = Newtons(func,x0,tol
)
带有以下输入和输出。
我正在努力创建函数句柄(第一个输入)并在main函数中使用它,以及理解和生成resids
和history
输出。我真的很感激这个功能的一些帮助。
到目前为止我做过/尝试过的事情:(我对Matlab相对较新,并认为这是完全错误的,不值得一看)
% function handle for the first input (func)
function [f, J] = jacobian(f, x)
n=length(x);
fx=f(x);
step=1e-10;
for i=1:n
xstep = x;
xstep(i)=x(i)+step;
J(:,i)=(f(xstep)-fx)/step;
end
end
function [roots, count, resids, history] = Newtons(func,x0,tol)
func = @jacobian;
if nargin == 2
tol = 10e-10;
end
MAXIT = 50;
xx = x0;
N = 0;
while N < 50
JJ = func(2);
end