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:
método de Bisección
i ['a', 'c', 'b'] ['f(a)', 'f(c)', 'f(b)']
tramo
0 [0.01 1.005 2. ] [-0.6219 6.4671 10.0825]
0.9949999999999999
1 [0.01 0.5075 1.005 ] [-0.6219 4.0191 6.4671]
0.49749999999999994
2 [0.01 0.2587 0.5075] [-0.6219 2.3692 4.0191]
0.24874999999999997
3 [0.01 0.1344 0.2587] [-0.6219 1.2656 2.3692]
0.124375
4 [0.01 0.0722 0.1344] [-0.6219 0.5367 1.2656]
0.0621875
5 [0.01 0.0411 0.0722] [-0.6219 0.0652 0.5367]
0.031093749999999996
6 [0.01 0.0255 0.0411] [-0.6219 -0.2301 0.0652]
0.015546874999999998
7 [0.0255 0.0333 0.0411] [-0.2301 -0.075 0.0652]
0.007773437500000001
8 [0.0333 0.0372 0.0411] [-0.075 -0.0033 0.0652]
0.003886718750000004
9 [0.0372 0.0392 0.0411] [-0.0033 0.0313 0.0652]
0.001943359375000002
10 [0.0372 0.0382 0.0392] [-0.0033 0.0141 0.0313]
0.0009716796875000044
11 [0.0372 0.0377 0.0382] [-0.0033 0.0054 0.0141]
0.0004858398437500022
12 [0.0372 0.0374 0.0377] [-0.0033 0.001 0.0054]
0.0002429199218750011
13 [0.0372 0.0373 0.0374] [-0.0033 -0.0012 0.001 ]
0.00012145996093750056
14 [0.0373 0.0374 0.0374] [-1.1629e-03 -7.0501e-05 1.0211e-03]
6.072998046875028e-05
15 [0.0374 0.0374 0.0374] [-7.0501e-05 4.7540e-04 1.0211e-03]
3.0364990234378608e-05
16 [0.0374 0.0374 0.0374] [-7.0501e-05 2.0247e-04 4.7540e-04]
1.5182495117192774e-05
17 [0.0374 0.0374 0.0374] [-7.0501e-05 6.5992e-05 2.0247e-04]
7.591247558592917e-06
raíz en: 0.03739681243896484
el número de iteraciones es la cantidad de filas de la tabla
>>> len(tabla)
18
con lo que se comprueba los resultados.