
function [x, steps, flag]=newton_sistemi(x,maxit,tol,F,JF)

% INPUT.
% x      : ?PUNTO INIZIALE (VETTORE COLONNA).
% maxit   : NUMERO MASSIMO DI ITERAZIONI.
% tol     : TOLLERANZA CRITERIO DI ARRESTO.
% g       : EQUAZIONE DA RISOLVERE x=g(x)
% F        : FUNZIONE DI CUI STUDIARE GLI ZERI.
% JF      : JACOBIANA DI F.
% OUTPUT.
% x       : ITERAZIONI PUNTO FISSO.
% steps: NORMA 2 DEGLI STEP.
% flag    : 0: TERMINAZIONE CORRETTA, 1: NON CORRETTA.

flag=0; steps=[]; 
for index=1:maxit
    Fv=feval(F,x(:,index));  JFv=feval(JF,x(:,index));  
    h=-JFv\Fv; x(:,index+1)=x(:,index)+h; 
    steps(index)=norm(h,2);  if steps(index) < tol, return; end
end
flag=1;