2019_IT Semana 02 – Búsqueda de raíces

1. Continuación de Ejercicios Taylor

Calcular errores de truncamiento como la diferencia entre la función y el polinomio. Use valores absolutos. Grafique en el rango de análisis y observe el comportamiento alrededor de x0.

Para generar la tabla de errores, requiere agrupar los vectores (concatenar). Al concatenar se añade una dimensión al vector con [xi] y se selecciona el eje de contatenación, por filas axis=0.

Para mostrar los resultados y obtener una mejor visialización se  transpone la tabla.

tabla = np.concatenate(([xi],[fxi],[pxi],axis =0)
tabla = np.transpose(tabla)

Ejercicio sugerido: Determinar y graficar los errores de truncamiento para los ejercicios de la semana anterior.

Ejemplo para el primer ejercicio con un polinomio de grado 3

...
# error de truncamiento
trunca = np.abs(fxi-pxi)

tabla = np.concatenate(([xi],[fxi],[pxi],[trunca]),axis = 0)
tabla = np.transpose(tabla)
truncamax = np.max(trunca)

# SALIDA
...
print('tabla de error de truncamiento')
print('xi,fxi,pxi,trunca')
np.set_printoptions(precision=4)
print(tabla)

con resultado:

tabla de error de truncamiento
xi,fxi,pxi,trunca
[[ 0.0000e+00  0.0000e+00 -1.1992e-02  1.1992e-02]
 [ 5.0000e-02  8.3544e-02  7.5461e-02  8.0830e-03]
 [ 1.0000e-01  1.6363e-01  1.5845e-01  5.1780e-03]
....
error de truncamiento máximo: 
0.017091802473192308

y gráfica:


2. Búsqueda de raíces  para una función

Revisar los conceptos presentados en:

2.1 Bisección.

http://blog.espol.edu.ec/matg1013/2-1-biseccion-concepto/

http://blog.espol.edu.ec/matg1013/2-1-1-biseccion-ejemplo01/

3. Ejercicios en clase Paralelos 3, 4 y 7

Los ejercicios desarrollados en clase consideran solo usar algoritmo de Bisección, luego podrán realizarse con el método del enunciado una vez revisado otros métodos.

1Eva_IIT2018_T4 Tasa de interés en hipoteca

http://blog.espol.edu.ec/matg1013/1eva_iit2018_t4-tasa-de-interes-en-hipoteca/

http://blog.espol.edu.ec/matg1013/s1eva_iit2018_t4-tasa-de-interes-en-hipoteca/

Desarrollo analítico:  se realizó en clase, en pizarra

Desarrollo de algoritmo
Observe:
– El algoritmo bisección usa las variables a y b, por lo que los limites usados son La,Lb
– para el problema la variable ‘i’ se usa en el eje x.
– La selección de cambio de rango [a,b] se hace usando solo el signo del valor.
– El algoritmo presentado es tal como se explica en la teoría, falta mejorar (a=a, b=b, etc) y convertir a funcion python.

# 1Eva_IIT2018_T4 Tasa de interés en hipoteca
import numpy as np
import matplotlib.pyplot as plt

# INGRESO
La = 0.01 # considere: división para cero
Lb = .16  # a y b son variables para Bisección
muestras = 51
tolera = 0.0000001 # revisar asignación error tolerado

# PROCEDIMIENTO

fi = lambda i: 70000 - 1200*(1-((1+i)**-300))/i
i = np.linspace(La,Lb,muestras)
fr = fi(i)

# Biseccion
a = La
b = Lb
c = (a+b)/2
tramo = np.abs(b-a)
while (tramo>tolera):
    fa = fi(a)
    fb = fi(b)
    fc = fi(c)
    cambio = np.sign(fc)*np.sign(fa)
    if (cambio>0):
        a = c
        b = b
    else:   
        b = c
        a = a
    c = (a+b)/2
    tramo = np.abs(b-a)
    

# SALIDA
print('a, f(a):', a,fa)
print('b, f(b):',b,fb)
print('c, f(c):',c,fc)
print('la raiz esta entre: ')
print(a,b)
print('con un error de: ', tramo)
print('raiz es tasa buscada: ', c)

# gráfica
plt.plot(i,fr)
plt.axhline(0)
plt.show()

1Eva_IT2016_T3_MN Tasa interés anual

http://blog.espol.edu.ec/matg1013/1eva_it2016_t3_mn-tasa-interes-anual/

3Eva_IIT2011_T1_MN Precios mensuales

http://blog.espol.edu.ec/matg1013/3eva_iit2011_t1_mn-precio-por-tiempo/

1Eva_IIT2009_T1 Movimiento de partícula en plano

http://blog.espol.edu.ec/matg1013/1eva_iit2009_t1-movimiento-de-particula-en-plano/

4. Tarea

Ejercicios de tarea para busqueda de raíces usando método de bisección.

3Eva_IT2018_T1 Intersección de círculos
http://blog.espol.edu.ec/matg1013/3eva_it2018_t1-interseccion-de-circulos/

3Eva_IT2010_T1 Envase cilíndrico
http://blog.espol.edu.ec/matg1013/3eva_it2010_t1-envase-cilindrico/

Repasar nuevamente el algoritmo escrito en python realizado en la clase, se recomienda empezar todo nuevamente, y usar como referencia el algoritmo de la clase (secciones, estructura).

Entregables en plataforma sidweb: para cada ejercicio se subirán tres archivos:

apellidoEjercicio01.py archivo de algoritmo .py (python)
apellidoEjercicio01.txt resultado de la ejecución con ¨bloc de notas¨,
indicando el valor en eje x donde se encuentra la raiz, el error real tolerado y el número de iteraciones realizadas para encontrar la respuesta.
Puede añadir alguna observación  las respuestas presentadas.
apellidoEjercicio01.png gráfico de la función analizada para la raiz. Permite verificar su respuesta.

Los archivos se suben separados para facilidad de visualización en sidweb.

5. Lecturas para semana 3

5.1 Posición falsa

http://blog.espol.edu.ec/matg1013/2-4-posicion-falsa-concepto/

http://blog.espol.edu.ec/matg1013/2-4-1-posicion-falsa-ejemplo01/

5.2 Punto fijo

http://blog.espol.edu.ec/matg1013/2-4-punto-fijo-concepto/

http://blog.espol.edu.ec/matg1013/2-2-1-punto-fijo-ejemplo01/

5.3 Newton-Raphson

http://blog.espol.edu.ec/matg1013/2-3-newton-raphson-concepto/

http://blog.espol.edu.ec/matg1013/2-3-1-newton-raphson-ejemplo01/