% Ej 16. Aplique el método de Newton-Raphson a la ecuación
% f(x)=x^3+94*x^2-389*x+294=0 tomando como aproximación inicial a) x0=1.9,
% b) x0=2.1, c) x0=2.
f=@(x) x.^3+94.*x.^2-389.*x+294;
fprima=@(x) 3*x.^2+188*x-389
xx=-99:0.05:4;
yy=f(xx);
plot(xx,yy,xx,zeros(length(xx)))
fprima = 

    @(x)3*x.^2+188*x-389

x0=1.9;
tol=0.00001;
seguir=true;
while seguir
x1=x0-f(x0)/fprima(x0);
 fprintf('x1 = %d \n',x1);
if abs(x0-x1)<tol
    seguir=false;
end
x0=x1;
end

x1
f(x1)
disp('Para x0=1.9 se aproxima a la raíz x=1.');
disp('------')
x1 = -2.816309e+000 
x1 = -4.547977e-001 
x1 = 5.797760e-001 
x1 = 9.391361e-001 
x1 = 9.982894e-001 
x1 = 9.999986e-001 
x1 = 1.000000e+000 

x1 =

    1.0000


ans =

  1.9867e-010

Para x0=1.9 se aproxima a la raíz x=1.
------
x0=2.1;
tol=0.00001;
seguir=true;
while seguir
x1=x0-f(x0)/fprima(x0);
 fprintf('x1 = %d \n',x1);
if abs(x0-x1)<tol
    seguir=false;
end
x0=x1;
end

x1
f(x1)
disp('Para x0=2.1 se aproxima a la raíz x=3');
disp('------')
x1 = 7.307514e+000 
x1 = 4.808698e+000 
x1 = 3.596823e+000 
x1 = 3.113840e+000 
x1 = 3.005933e+000 
x1 = 3.000018e+000 
x1 = 3.000000e+000 
x1 = 3 

x1 =

     3


ans =

     0

Para x0=2.1 se aproxima a la raíz x=3
------
x0=2;
tol=0.00001;
seguir=true;
while seguir
x1=x0-f(x0)/fprima(x0);
 fprintf('x1 = %d \n',x1);
if abs(x0-x1)<tol
    seguir=false;
end
x0=x1;
end

x1
f(x1)
disp('Para x0=2 se aproxima a la raíz x=-98');
x1 = -98 
x1 = -98 

x1 =

   -98


ans =

     0

Para x0=2 se aproxima a la raíz x=-98