%%%%%   Este programa encontra um zero REAL de uma funçao pelo   %%%%%%
%%%%%                   METODO DE NEWTON-RAPHSON                 %%%%%%
function newton
clear all
clc
format long
i=0;
xo = input('Escolha uma aproximaçao inicial xo no intervalo [a,b]: ');
precisao = input('Entre com a precisao desejada: ');
while abs(f(xo))>=precisao,
x1= xo - f(xo)/df(xo);         
aux(i+1)=x1;
if (abs(x1-xo) < precisao) 
    xo = x1;
end
xo=x1;
i=i+1;
end 
disp ('Valores encontrados em cada iteração:');
disp (aux')
disp ('A solucao encontrada pelo metodo de Newton foi: ');
disp (xo)
disp ('O valor de f(x) calculado na solucao foi: ');
disp (f(x1))
disp ('Total de Iterações = ');
disp (i)
%
function f=f(t)
  f = t^2 - 2;                     
  %f = t^3 - 9*t + 3;                 %%%   funcao 1   %%%
  %f = t^2 + t - 6;                   %%%   funcao 2   %%%
  %f = exp(-t^2) - cos(t);            %%%   funcao 3   %%%
  %f = t^3 - t - 1;                   %%%   funcao 4   %%%
  %f = 4*sin(t) - exp(t);             %%%   funcao 5   %%%
  %f = t*log10(t) - 1;                %%%   funcao 6   %%%
  %f = t^2 - 5*t + 5;                 %%%   funcao 7   %%%
  %f = t^2 - 4*t + 2;                 %%%   funcao 8   %%%
  %f = t^2 - 10*t + 23;               %%%   funcao 9   %%%
  %f = t^2 - 10;                      %%%   funcao 10  %%%
  %f = -t^3 + 17*t^2 - 75*t + 91;      %%%   funcao 11  %%%
  %f = t.^3 + 6*t.^2 + 9*t - 6;
  %
  function df=df(t)
   df = 2*t;                       
   %df = 3*t^2 - 9;                    %%%   funcao 1   %%%
   %df = 2*t + 1;                      %%%   funcao 2   %%%
   %f = -2*t*exp(-t^2) + sin(t);       %%%   funcao 3   %%%
   %df = 3*t^2 - 1;                    %%%   funcao 4   %%%
   %df = 4*cos(t) - exp(t);            %%%   funcao 5   %%%
   %df = 2*t - 10;                     %%%   funcao 9   %%%
   %df = 2*t;                          %%%   funcao 10  %%%
   %df = -3*t^2 + 34*t - 75;         %%%   funcao 11  %%%
   %df = 3*t.^2 + 12*t + 9;

