3Eva_IIT2019_T1 Lanzamiento de Cohete

3ra Evaluación II Término 2019-2020. 11/Febrero/2020. MATG1013

Tema 1. (25 Puntos)
En el lanzamiento de un cohete se midieron las alturas alcanzadas a intervalos regulares de tiempo, mostradas en la siguiente tabla:

t s 0 25 50 75 100 125
y(t) Km 0 32 58 78 92 100

Usando tres puntos, se requiere obtener el polinomio de grado 2 que describe la función de altura y(t) a partir de los datos obtenidos, usando interpolación

a) Realice la tabla de diferencias finitas
b) Plantee el polinomio de interpolación con diferencias finitas avanzadas
c) A partir del polinomio obtenido, escriba las funciones de velocidad y’(t)
y aceleración y’’(t) en cada punto de la tabla

Rúbrica: literal a (5 puntos) literal b (5 puntos), literal c (15 puntos)

Referencias: Batalla por la luna, el programa Apolo.History Latinoamérica

s3Eva_IIT2019_T2 Diferenciación, valor en frontera

Ejercicio: 3Eva_IIT2019_T2 Diferenciación, valor en frontera

La ecuación de problema de valor de frontera, con h = 1/4 = 0.25:

y'' = -(x+1)y' + 2y + (1-x^2) e^{-x}

0 ≤ x ≤ 1
y(0) = -1
y(1) = 0

Se interpreta en la tabla como los valores que faltan por encontrar:

i 0 1 2 3 4
xi 0 1/4 1/2 3/4 1
yi -1 0

Por ejemplo, se usan las derivadas en diferencias finitas divididas centradas para segunda derivada y hacia adelante para primera derivada.

Semejante al procedimiento aplicado para métodos con EDO.

f''(x_i) = \frac{f(x_{i+1})-2f(x_{i})+f(x_{i-1})}{h^2} + O(h^2) f'(x_i) = \frac{f(x_{i+1})-f(x_i)}{h} + O(h)

Se formula entonces la ecuación en forma discreta, usando solo los índices para los puntos yi:

\frac{y[i+1]-2y[i]+y[i-1]}{h^2} = -(x_i +1) \frac{y[i+1]-y[i]}{h} + 2y[i] + (1-x_i ^2) e^{-x_i}

se multiplica todo por h2

y[i+1]-2y[i]+y[i-1] = -h(x_i +1)(y[i+1]-y[i]) + + 2 h^2 y[i] + h^2 (1-x_i ^2) e^{-x_i}
y[i+1]-2y[i]+y[i-1] = -h(x_i +1)y[i+1] + + h(x_i +1)y[i] + 2 h^2 y[i] + h^2 (1-x_i ^2) e^{-x_i}
y[i+1](1 +h(x_i +1)) + y[i](-2 - h(x_i +1)-2 h^2)+y[i-1] = = h^2 (1-x_i ^2) e^{-x_i}

Ecuación que se aplica en cada uno de los puntos desconocidos con i =1,2,3


i = 1

y[2](1 +h(x_1 +1)) + y[1](-2 - h(x_1 +1)-2 h^2)+y[0] = = h^2 (1-x_1 ^2) e^{-x_1} y[2]\Big(1 +\frac{1}{4}\Big(\frac{1}{4} +1\Big)\Big) + y[1]\Big(-2 - \frac{1}{4}\Big(\frac{1}{4} +1\Big)-2 \Big(\frac{1}{4}\Big)^2\Big) -1 = = \Big(\frac{1}{4}\Big)^2 \Big(1-\Big(\frac{1}{4}\Big) ^2\Big) e^{-1/4} y[2]\Big(1 +\frac{5}{16} \Big) + y[1]\Big(-2 - \frac{5}{16}- \frac{2}{16}\Big) = = 1+ \frac{1}{16} \Big(1-\frac{1}{16}\Big) e^{-1/4} \frac{21}{16} y[2]- \frac{39}{16}y[1] = 1+ \frac{15}{16^2} e^{-1/4} - \frac{39}{16}y[1] + \frac{21}{16} y[2] = 1+ \frac{15}{16^2} e^{-1/4}

multiplicando ambos lados de la ecuacion por 16 y reordenando

- 39 y[1] + 21 y[2] = 16+ \frac{15}{16} e^{-1/4}

i = 2

y[3](1 +h(x_2 +1)) + y[2](-2 - h(x_2 +1)-2 h^2)+y[1] = = h^2 (1-x_2 ^2) e^{-x_2} y[3]\Big(1 +\frac{1}{4}\Big(\frac{1}{2} +1\Big)\Big) + y[2]\Big(-2 - \frac{1}{4}\Big(\frac{1}{2} +1\Big)-2 \Big(\frac{1}{4}\Big)^2\Big)+y[1] = = \Big(\frac{1}{4}\Big)^2 \Big(1-\Big(\frac{1}{2}\Big) ^2\Big) e^{-\frac{1}{2}} y[3]\Big(1 +\frac{3}{8}\Big) + y[2]\Big(-2 - \frac{1}{4}\Big(\frac{3}{2}\Big)- \frac{1}{8}\Big)+y[1] = = \Big(\frac{1}{16}\Big) \Big(1-\frac{1}{4}\Big) e^{-\frac{1}{2}} \frac{11}{8} y[3] - \frac{21}{8} y[2]+y[1] = \frac{1}{16} \Big(\frac{3}{4}\Big) e^{-\frac{1}{2}}

multiplicando ambos lados por 8 y reordenando,

8y[1] - 21 y[2] + 11 y[3] = \frac{3}{8} e^{-\frac{1}{2}}

i = 3

y[4](1 +h(x_3 +1)) + y[3](-2 - h(x_3 +1)-2 h^2)+y[2] = = h^2 (1-x_3 ^2) e^{-x_3} (0) \Big(1 +h\Big(x_3 +1\Big)\Big) + y[3]\Big(-2 - \frac{1}{4}\Big(\frac{3}{4} +1\Big)-2 \frac{1}{16}\Big)+y[2] = = \frac{1}{16}\Big (1-\Big(\frac{3}{4}\Big) ^2 \Big) e^{-3/4} y[3]\Big(-2 - \frac{7}{16} - \frac{2}{16}\Big)+y[2] = \frac{1}{16}\Big (1-\frac{9}{16}\Big) e^{-3/4}

multiplicando todo por 16 y reordenando:

16 y[2] - 41 y[3] = \frac{7}{16} e^{-3/4}

Con lo que se puede crear la forma matricial del sistema de ecuaciones Ax=B

\begin{bmatrix} -39 && 21 && 0\\8 && 21 && 11 \\ 0 && 16 && 41 \end{bmatrix}\begin{bmatrix} y[1]\\ y[2] \\y[3] \end{bmatrix} =\begin{bmatrix} 16+ \frac{15}{16} e^{-1/4} \\ \frac{3}{8} e^{-\frac{1}{2}} \\ \frac{7}{16} e^{-3/4} \end{bmatrix}

con lo que resolviendo la matriz se obtienen los valroes para y[1], y[2], y[3]

solución de matriz: 
[-0.59029143 -0.29958287 -0.12195088]

con lo que se completan los puntos de la tabla,

Solución de ecuación
x[i] =  [ 0.   0.25        0.5         0.75        1.  ]
y[i] =  [-1.  -0.59029143 -0.29958287 -0.12195088  0.  ]

con la siguiente gráfica:


Algoritmo para solución de matriz con Python

tarea: modificar para cambiar el valor del tamaño de paso.

# Problema de Frontera
import numpy as np
import matplotlib.pyplot as plt

# INGRESO

h = 1/4
y0 = -1
y1 = 0

xi = np.arange(0,1+h,h)
n = len(xi)
yi = np.zeros(n,dtype=float)
yi[0] = y0
yi[n-1] = y1
    
A = np.array([[-39.0, 21,  0],
              [  8.0, -21, 11],
              [  0.0, 16, -41]])
B = np.array([16+(15/16)*np.exp(-1/4),
              (3/8)*np.exp(-1/2),
              (7/16)*np.exp(-3/4)])

# PROCEDIMIENTO
x = np.linalg.solve(A,B)

for i in range(1,n-1,1):
    yi[i] = x[i-1]

# SALIDA
print('solución de matriz: ')
print(x)
print('Solución de ecuación')
print('x[i] = ',xi)
print('y[i] = ',yi)

# Grafica
plt.plot(xi,yi,'ro')
plt.plot(xi,yi)
plt.show()

s3Eva_IIT2019_T1 Lanzamiento de Cohete

Ejercicio: 3Eva_IIT2019_T1 Lanzamiento de Cohete

A partir de la tabla del enunciado  se realiza la tabla de diferencias finitas.

i ti fi Δfi Δ2fi Δ3fi Δ4fi Δ5fi
1 0 0 32 -6 0 0 0
2 25 32 26 -6 0 0
3 50 58 20 -6 0
4 75 78 14 -6
5 100 92 8
6 125 100

Observando que a partir de la tercera diferencia finita  los valores son cero, por lo que se usa la fórmula general de diferencias finitas divididas hasta el polinomio de grado 2.

p_2 (x) = f_0 + \frac{\Delta f_0}{h} (x - x_0) + + \frac{\Delta^2 f_0}{2!h^2} (x - x_0)(x - x_1)

al sustituir los valores conocidos, se convierte en,

p_2 (t) =0 + \frac{32}{25} (t -0) + + \frac{-6}{2(25)^2} (t -0)(t - 25) =\frac{32}{25}t + \frac{-3}{(25)^2} (t^2 - 25t) =\frac{32}{25}t + \frac{-3}{(25)^2} t^2 - \frac{-3}{(25)^2}25t =\frac{7}{5}t - \frac{3}{625} t^2 y(t) =p_2 (t) =1.4 t - 0.0048 t^2

Con lo que se puede obtener la velocidad:

y'(t) = 1.4 - 0.0096 t

y luego la aceleración:

y''(t) = - 0.0096

Si el error es el próximo término del polinomio Δ3fi  entonces se estima en cero.

Tarea:  Evaluar la velocidad y aceleración para cada punto de la tabla

La gráfica del polinomio encontrado es:

Algoritmo en Python

El algoritmo realizado en Python entrega los siguientes resultados:

[[  i,  ti,  fi, df1, df2, df3, df4, df5,  df6]]
[[  1.   0.   0.  32.  -6.   0.   0.   0.   0.]
 [  2.  25.  32.  26.  -6.   0.   0.   0.   0.]
 [  3.  50.  58.  20.  -6.   0.   0.   0.   0.]
 [  4.  75.  78.  14.  -6.   0.   0.   0.   0.]
 [  5. 100.  92.   8.   0.   0.   0.   0.   0.]
 [  6. 125. 100.   0.   0.   0.   0.   0.   0.]]
polinomio:
-0.0048*t**2 + 1.4*t

las instrucciones en Python son:

# 3Eva_IIT2019_T1 Lanzamiento de Cohete
# Tarea: Verificar tamaño de vectores
#        considerar puntos no equidistantes en eje t
import numpy as np
import matplotlib.pyplot as plt
import sympy as sym

# INGRESO , Datos de prueba
ti = np.array([0.0, 25, 50, 75, 100, 125])
fi = np.array([0.0, 32, 58, 78, 92, 100])

# PROCEDIMIENTO
# Tabla de diferencias finitas
titulo = ['i','ti','fi']
n = len(ti)

# cambia a forma de columnas
i = np.arange(1,n+1,1)
i = np.transpose([i])
ti = np.transpose([ti])
fi = np.transpose([fi])

# Añade matriz de diferencias
dfinita = np.zeros(shape=(n,n),dtype=float)
tabla = np.concatenate((i,ti,fi,dfinita), axis=1)

# Sobre matriz de diferencias, por columnas
[n,m] = np.shape(tabla)
c = 3
diagonal = n-1
while (c<m):
    # Aumenta el título para cada columna
    titulo.append('df'+str(c-2))
    # calcula cada diferencia por fila
    f = 0
    while (f < diagonal):
        tabla[f,c] = tabla[f+1,c-1]-tabla[f,c-1]
        f = f+1
    
    diagonal = diagonal - 1
    c = c+1

# POLINOMIO con diferencias finitas
# caso: puntos en eje t equidistantes
dfinita = tabla[:,3:]
n = len(dfinita)
t = sym.Symbol('t')
h = ti[1,0]-ti[0,0]
polinomio = fi[0,0]
for c in range(1,n,1):
    denominador = np.math.factorial(c)*(h**c)
    factor = dfinita[0,c-1]/denominador
    termino=1
    for f  in range(0,c,1):
        termino = termino*(t-ti[f])
    polinomio = polinomio + termino*factor

# simplifica polinomio, multiplica los (t-ti)
polinomio = polinomio.expand()

# para evaluacion numérica
pt = sym.lambdify(t,polinomio)

# Puntos para la gráfica
a = np.min(ti)
b = np.max(ti)
muestras = 101
ti_p = np.linspace(a,b,muestras)
fi_p = pt(ti_p)

# SALIDA
print([titulo])
print(tabla)
print('polinomio:')
print(polinomio)

# Gráfica
plt.title('Interpolación polinómica')
plt.plot(ti,fi,'o', label = 'Puntos')
plt.plot(ti_p,fi_p, label = 'Polinomio')
plt.legend()
plt.show()

Actividades 2da Evaluación

2da Evaluación - Semana 09 a 15

S09 Unidad 04 Interpolación, Unidad 05 Integración numérica

Actividades 1ra Evaluación

1ra Evaluación - Semana 01 a 07

S01 Introducción, Polinomio de Taylor, Unidad 02 Método de la Bisección
...

1. Presentación del curso

Contenido general del curso (Syllabus), Bibliografía, y recursos que serán necesarios para el desarrollo de las actividades.

Contenido del curso

Bibliografía

Políticas de curso

Descargas Python: Winpython - Programa usado para la aplicación de los algoritmos de cada unidad del curso:

Consultas, preguntas: AulaVirtual, para facilitar la gestión de mensajes en medios. Solo en caso de no estar disponible el medio anterior, usar Microsoft Teams en la sección de Foros. En caso de tener alguna pregunta en particular, de la materia realizarla por AulaVirtual/mensajería, de esta forma facilita la gestión de los mensajes. Suscribirse y seguir:: @EdisonDelRosario  @edelrosespol   @edelrosespol

2. Lecturas

Lecturas de contenido , al inicio de cada página se indican las referencias de cada tema en la bibliografía.

Polinomio de Taylor – Ejemplos con Sympy-Python

Error y Precisión en computadoras

Error-por tipos en computadoras

Método de la Bisección – Concepto

Método de la Bisección – Ejemplo01 con Python

Complementaria. Para repasar conceptos de algoritmos usados con funciones matemáticas y gráficas 2D se dispone del menú Recursos/Resumen Python. Se trata de mantener la simplicidad en cada ejemplo, usando lo necesario para mostrar el concepto tratado en el curso.

Funciones def-return vs lambda

Gráficas 2D de línea (curso:Fundamentos de Programación)

Fórmulas y funciones simbólicas con Python – Sympy

Funciones y Gráficas

3. Ejercicios

1Eva_IIT2010_T1 Aproximar con polinomio

Solución propuesta: s1Eva_IIT2010_T1 Aproximar con polinomio

1Eva_IT2016_T3_MN Tasa interés anual

Solución Propuesta: s1Eva_IT2016_T3_MN Tasa interés anual

1Eva_IT2017_T2 Tanque esférico-volumen

Solución Propuesta: s1Eva_IT2017_T2 Tanque esférico-volumen

Videos complementarios semana 01

4. Tarea

Encontrar el polinomio de Taylor de grado 3 para el intervalo = [1,1] de la función descrita en el siguiente enunciado. Para el desarrollo analítico (papel y lápiz), presente el polinomio hasta grado 2. 1Eva_IT2010_T2_MN Uso de televisores 1Eva_IT2012_T1_MN Tasa de interés

Formato de entrega de tarea

Instrucciones para Formato Tareas/Taller
S02 Unidad 02 Método de la Bisección

1. Lecturas

Contenido de la Unidad 02, al inicio de cada página se indican las referencias de cada tema.

Método de la Bisección – Concepto

Método de la Bisección – Ejemplo con Python

Método del Punto fijo – Concepto

Método del Punto fijo – Ejemplo con Python

2. Ejercicios de búsqueda de raíces

Los ejercicios presentados para esta sesión consideran usar solo el método de Bisección, son seleccionados como problemas de la Unidad 02. Por ahora omita la parte del enunciado que indica otro método que aún no se ha cubierto.

1Eva_IIT2018_T4 Tasa de interés en hipoteca

Solución propuesta: s1Eva_IIT2018_T4 Tasa de interés en hipoteca

1Eva_IIT2009_T1 Movimiento de partícula en plano

Solución Propuesta con video: s1Eva_IIT2009_T1 Movimiento de partícula en plano con Bisección y Posición Falsa

1Eva_IT2009_T1 Demanda de producto

Solución propuesta: s1Eva_IT2009_T1 Demanda de producto

3Eva_IT2018_T1 Intersección de dos círculos

Solución propuesta: s3Eva_IT2018_T1 Intersección de dos círculos

3Eva_IT2010_T1 Envase cilíndrico

Solución propuesta: s3Eva_IT2010_T1 Envase cilíndrico

Aproximar una función con Series de Taylor, mostrada en el enunciado:

1Eva_IT2012_T1_MN Tasa de interés

3Eva_IIT2011_T1_MN Precios mensuales

3. Tarea

Para el ejercicio del enlace, encuentre el punto sobre la curva más cercano al punto mostrado. Realice desarrollo usando el método de Bisección.

3Eva_2020PAOI_T1 Distancia mínima en trayectoria

4. Encuesta en Aulavirtual

S07 Unidad 04 Interpolación polinómica

1. Lecturas

Interpolación: Diferencias finitas avanzadas, polinomio de interpolación

video tutorial: Diferencias Finitas

Diferencias Divididas Newton

Interpolación de Lagrange

2.Ejercicios resueltos de interpolación polinómica

3Eva_IIT2019_T1 Lanzamiento de Cohete

Solución propuesta: s3Eva_IIT2019_T1 Lanzamiento de Cohete

1Eva_IT2019_T1 Oxígeno y temperatura en agua

Solución propuesta: s1Eva_IT2019_T1 Oxígeno y temperatura en agua

3. Tarea

2Eva_IIT2011_T2_MN Profundidad en lago

3Eva_2021PAOII_T3 interpolar cadena desenrollando y cayendo

1Eva_IT2011_T3 Interpolar velocidad del automovil

4. Taller

Determinar el grado de polinomio que distorsiona la figura que se pretende describir con un polinomio.

- Interpole con un polinomio que cubra todo el intervalo de la figura y realice las observaciones sobre si es posible usar un solo polinomio.

- ¿Cuáles serían los criterios a aplicar para dividir el intervalo de interpolación?

Interpolar - Pato en pleno vuelo

Interpolar - Mascota descansando

Plataformas para clases virtuales 2020 PAO-I

http://blog.espol.edu.ec/analisisnumerico/ Apuntes de clase, ejercicios, soluciones propuestas, evaluaciones anteriores, videos tutoriales.
https://aulavirtual.espol.edu.ec/ gestión de tareas, talleres, mensajes de consulta, foros por paralelo, etc.
Microsoft Teams de ESPOL Sesiones en línea de clases "en vivo", chats, durante el horario de clases asignado. Existirán grupos creados para cada paralelo. La invitación a participar llegará a su correo electrónico.

El contenido de cada semana se presenta para desarrollarse en dos sesiones. Cada sesión contiene las actividades formativas con contenido simplificado, progresivo y acumulativo. El participante deberá completar las actividades indicadas, algunas actividades son complementarias u optativas. Las optativas son propuestas en caso de requerir repasar algunos temas considerados como pre-requisitos