Ejercicio: 1Eva2008TI_T1 Raíz de función(f)
Pasos a Seguir usando: BISECCIÓN
- 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 raíz.
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
\sqrt{x} . ln \Big( 5000\frac{\sqrt{x}}{2.51} \Big) - 1.1513 = 02. 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.