MATLAB - Newton求解非线性方程组的方法

时间:2017-10-06 13:53:56

标签: matlab newtons-method function-handle

我正在尝试编写一个使用Newton's Method to solve a system of nonlinear equations

的函数

功能:

[roots, count, resids, history] = Newtons(func,x0,tol

带有以下输入和输出。

enter image description here

我正在努力创建函数句柄(第一个输入)并在main函数中使用它,以及理解和生成residshistory输出。我真的很感激这个功能的一些帮助。

到目前为止我做过/尝试过的事情:(我对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

0 个答案:

没有答案