Metodo Newton Raphson | Python

NEWTON RAHPSON

TEORÍA
 el método newton rahpson se utiliza para hallar la raíz de una función algebraica o trascendental
.para este caso solo calcula una raíz si la función es un polinomio ,según el valor de inicial que se da para la convergencia 

ERROR APROXIMADO RELATIVO PORCENTUAL

su formula es la siguiente 

la calculo  terminan si el error estimado "es" es mayor que el error aproximado relativo porcentual "ea"
donde:
ea<es


FORMULA DE NEWTON RAHPSON

f(x) : funcion de x
f'(x) : primera dervidad de f(x)

aqui xi es el valor inial que se da ,segun sea el valor incial puede converger mas rapido

xi+1 es el valor nuevo 

PROCESO DE CALCULO

1 calculemos la derivada de f(x)

2 expresemos xi+1 como g(x)

3 g(x) es la funcion g con variable x

4 se da un valor a xi  en g(x) 

5 se obtiene el valor numérico de g(x)= xi+1

6 hallemos el error aproximado relativo porcentual"ea"

7 si el ea>es reemplazamos xi por xi+1 obtendremos otro valor para xi+1

8 el calculo termina si ea<es


CODIGO


#programa: newton rhapson
#funcion: calcular la raiz de funciones trascendentes o algebraicas 
import sympy as sy
#x es un simbolo
x=sy.symbols('x')
#funcion 
funcion=sy.exp(-x)-x
#primera derivada de la funcion
derivada=sy.diff(funcion,x)
#varibles
#xo valor inicial para la convergencia
x_0=0
xr=x_0
#error aproximado relatico porcentual
ea=100/100
#error estimado
es=0.001/100
contador=-1
print("i\txi\tea%")
while ea>es:
    xra=xr
    contador+=1
    newton_rhapson=x-(funcion/derivada)
    #se subtituye x por xr a continuandicon se evalua
    xr=newton_rhapson.evalf(subs={x: xr})
    #error aproximado relativo porcentual
    ea=sy.Abs(((xr-xra)/xr)*100)
    #resultado
    print(contador,"\t",xra,"\t",ea)

SE OBTIENE LA SALIDA
i                 xi                                          ea%
0        0                                      100.000000000000
1        0.500000000000000       11.7092909766624
2        0.566311003197218       0.146728707837439
3        0.567143165034862       2.21063919843976e-5
4        0.567143290409781       4.89392647060576e-13





1 comentario:

Know us

Our Team

Contact us

Nombre

Correo electrónico *

Mensaje *