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
Muchas gracias ♥
ResponderBorrar