cota = input ('Cota de error objetivo: ');
e= input ('Error inicial: ');
xi = input ('Valor inicial de la x: ');
yi = input ('Valor inicial de la y: ');

x0=[xi yi];

r=1;
tita=0.01;
i = 1; % contador de iteraciones
% Debo realizar un procedimiento iterativo mientras el error sea mayor que la cota
% y el número de iteración sea menor que n

while (e>cota)
    syms a b real
    HP=jacobian(jacobian(P(a,b,r)));
    HPr=subs(HP,{a,b,r},{x0(1),x0(2)});
    GP=jacobian(P(a,b,r));
    GPr=subs(GP,{a,b,r},{x0(1),x0(2)});
    x=x0+(GPr/HPr);
    e= double(sqrt((x(1)-x0(1))^2 +(x(2)-x0(2))^2)) ;
    
   x0=x;
   i=i+1;
   r=tita*r;
end

% Comprobación de por cual de las dos (tres) condiciones salió
if (e<cota)
   disp ('Se encontró la solución');
   disp ('La solución hallada es: ');
	x
	disp ('La cota de error es: ');
	e
	disp ('El número de iteraciones utilizado es: ');
	i
	disp ('Y el valor de la función en dicho punto es: ');
	mifuncion_objetivo(x0(1),x0(2))
end


