s1Eva2008TI_T1 Raíz de funcion(f)

Ejercicio: 1Eva2008TI_T1 Raíz de función(f)

Pasos a Seguir usando: BISECCIÓN

  1. Plantear la fórmula estandarizada f(x) = 0
  2. Seleccionar el rango de análisis [a,b] donde exista cambio de signo.
  3. Calcular el número de iteraciones para llegar a la raíz con el error tolerado
  4. 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 = 0

La 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 = 0

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 = 18

4. Calcular la raíz:

Usando el algoritmo se encuentra que la raiz está en:

raiz:  0.0373930168152
f(raiz) =  -2.25294254252e-06
s1eva_it2008t1_an raíz bisección gráfica

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.

Ejemplos - Ejercicios resueltos de Métodos Numéricos