Optimizacion sin Restricciones: metodo de Newton

En este video explico la programacion y presento un teorema de convergencia del metodo. Caso ideal. Modelo cuadratico. Interpretacion geometrica. Algoritmo de Newton basico en varias variables. La direccion de Newton es de descenso. Problemas que pueden surgir al resolver el sistema lineal. Programacion del metodo en MATLAB. Ejemplo practico. Teorema de convergencia. Diferencias entre el Metodo de Newton para minimizar y sistemas de ecuaciones
Archivo f.m

function Y = F(x)
% autor: Favian Arenas
% fecha: 2021-09-06
Y(1)=cos(x(1))-x(2);
Y(2)=(x(1)-2)^2+x(2)^2-1;
Y=transpose(Y);
end

Archivo gradf.m
function g = gradf(x)
% autor: Favian Arenas
g = [-400*x(1)*(x(2)-x(1)^2)-2*(1-x(1));
    200*(x(2)-x(1)^2)];
end

Archivo Hessf.m
function H = Hessf(x)
% autor: Favian Arenas
H=[-400*(x(2)-3*x(1)^2)+2,-400*x(1);
  -400*x(1), 200];
end
        

Archivo b_lineal.m
function l=b_lineal(x,d,Fx,Gx)
l=1;
alfa=10^(-1);
beta=0.1;
c=1;
 while ((f(x+l*d)>Fx+alfa*l*transpose(Gx)*d) || ( transpose(gradf(x+l*d))*d > beta*transpose(Gx)*d ))&& c < 100
    l=0.5*l;
    c=c+1;
 end
 end
        

Archivo metodo_newton.m
clc
x    = [-1;-1];
Fx   = f(x);
Gx   = gradf(x);
Hx   = Hessf(x);
l    = 1;
k    = 0;
tipo = "N";
while norm(Gx,"inf")>=10^(-3) && k<=200
  fprintf("%1.0f & (%1.3f,%1.3f) & %1.3f & %1.3f &  %1.5f &  %s \n",k,x(1),x(2),l,norm(Gx),Fx,tipo)
  H = mejora(Hx);
  if rcond(H)<10^(-6)
      d = -Gx;
      tipo = "G";
  else
      d = -H\Gx; % Ax=b  x=A\b
      tipo = "N";
  end
  l  = b_lineal(x,d,Fx,Gx);
  x  = x+l*d;
  Fx = f(x);
  Gx = gradf(x);
  k  = k+1;
end

Archivo mejora.m