Ejercicio: 1Eva_IT2008_T1 Raíz de funcion(f)
Pasos a Seguir usando: BISECCION
- Plantear la fórmula estandarizada f(x) = 0
- Seleccionar el rango de análisis [a,b] donde exista cambio de signo.
- Calcular el número de iteraciones para llegar a la raíz con el error tolerado
- Calcular la raíz:
4.1 Solución manual en papel: Realizar la tabla que muestre las iteraciones del método:
4.2 Solución usando el algoritmo: Usar el algoritmo para encontrar la raiz.
1. Plantear la fórmula estandarizada f(x) = 0
\sqrt{f} . ln \Big( R\frac{\sqrt{f}}{2.51} \Big) - 1.1513 = 0La función depende de la variable f, por lo que por facilidad de trabajo se cambiará a x para no ser confundida con una función f(x).
El valor de R también se reemplaza con R=5000 como indica el problema.
El error tolerado para el problema es de 0.00001
2. Seleccionar el rango de análisis [a,b] donde exista cambio de signo
La función tiene un logaritmo, por lo que no será posible iniciar con cero, sin o con valor un poco mayor a=0.01. Para el límite superior se escoge para prueba b=2. y se valida el cambio de signo en la función.
>>> import numpy as np >>> fx = lambda x: np.sqrt(x)*np.log((5000/2.51)*np.sqrt(x))-1.1513 >>> fx(0.01) -0.62186746547214999 >>> fx(2) 10.082482845673042
validando el rango por cambio de signo en la función [0.01 ,2]
3. Calcular el número de iteraciones para llegar a la raíz con el error tolerado
error = 0.00001
\frac{|2-0.01|}{2^n} = 0.001 1.99/0.00001 = 2^n log(1.99/0.00001) = nlog(2) n = \frac{log(1.99/0.00001)}{log(2)} = 17.6 n = 184. Calcular la raíz:
Usando el algoritmo se encuentra que la raiz está en:
raiz: 0.0373930168152 f(raiz) = -2.25294254252e-06
Primeras iteraciones de la tabla resultante:
a,b,c, fa, fb, fc, error [[ 1.00000000e-02 2.00000000e+00 1.00500000e+00 -6.21867465e-01 6.46707903e+00 6.46707903e+00 1.99000000e+00] [ 1.00000000e-02 1.00500000e+00 5.07500000e-01 -6.21867465e-01 4.01907320e+00 4.01907320e+00 9.95000000e-01] [ 1.00000000e-02 5.07500000e-01 2.58750000e-01 -6.21867465e-01 2.36921961e+00 2.36921961e+00 4.97500000e-01] [ 1.00000000e-02 2.58750000e-01 1.34375000e-01 -6.21867465e-01 1.26563722e+00 1.26563722e+00 2.48750000e-01] [ 1.00000000e-02 1.34375000e-01 7.21875000e-02 -6.21867465e-01 5.36709904e-01 5.36709904e-01 1.24375000e-01] [ 1.00000000e-02 7.21875000e-02 4.10937500e-02 -6.21867465e-01 6.51903790e-02 6.51903790e-02 6.21875000e-02] ...
el número de iteraciones es filas-1 de la tabla
>>> len(tabla) 19
con lo que se comprueba los resultados.