
%-------------------------------
% El método de Newton-Raphson intenta
% resolver de forma iterativa la 
% solución de la ecuacion 
% f(x)  =  0 mediante la fórmula recursiva
% x     =  xold + Dx
% Dx    =  -f(x)/fprima(x)
%-------------------------------


function [x,iter,Res]  =  MyNewtonRaphson(f,Df,tol,x0,NMaxIter)
  
  
Res                 =  zeros(NMaxIter,1);
iter                =  0;
x                   =  x0;
while and(norm(f(x))>tol,iter<NMaxIter)
  iter              =  iter + 1;
  Res(iter)         =  norm(f(x));
  Dx                =  -Df(x)\f(x);  %  Solver Directo de Octave
  x                 =  x + Dx;  
end
Res(iter+1)         =  norm(f(x));
if iter+1<NMaxIter
   Res(iter+2:end)  =  [];
end
iter                =  iter + 1;