Tema 4 (10 puntos) Para la expresión mostrada, realice la integración por el método de cuadratura de Gauss de dos puntos. Use al menos dos tramos en el intervalo mostrado.
A=∫07(sin(0.1t)cos(0.7t)+3.7)dt
a. Planteamiento del ejercicio usando dos tramos
b. Expresiones y valores completos
c. Resultados de la expresión
Rúbrica: literal a (2 puntos), literal b (5 puntos), literal c (3 puntos)
Para el planteamiento del integral es necesario observar la gráfica de la función a integrar dentro del intervalo.
La función tiene al menos dos «picos» y dos valles en el intervalo. Por lo que un solo tramo del integral podría aumentar el error de integración numérica con una figura trapezoidal equivalente como propone la cuadratura de Gauss.
Se plantea usar al menos dos tramos, y comparar el resultado con tres tramos para observar el error.
Para dos tramos se dispone de los segmentos entre los puntos
[0, 3.5, 7]
Para tres tramos se tiene los segmentos entre los puntos
[ 0, 7/3, 2(7/3), 7]
literal b
Si se usan dos tramos se tienen los segmentos entre los puntos [0,3.5,7]
Tema 3 (30 puntos) El efecto Allee es un proceso biológico identificado en la década de 1930 que describe por una correspondencia entre la densidad o el tamaño de la población y la aptitud física individual media.
dtdx=rx(Kx−1)(1−ax)
Se cree que es muy común y se produce en regiones escasamente pobladas. Poblaciones muy pequeñas pueden tener dificultades para defenderse de los depredadores, encontrar pareja o localizar comida.
Donde r = 0.7 es la tasa intrínseca de crecimiento, A=50 es la capacidad de alojamiento del medio, y K=10 es una constante que representa el valor mínimo de la población por debajo del cual se extingue.
a. Realice el planteamiento del ejercicio usando Runge-Kutta de 2do Orden.
b. Desarrolle tres iteraciones para x(t) con tamaño de paso h=0.2, con expresiones completas y valores usados.
c. Realice una observación sobre el crecimiento de población x(t), a lo largo del tiempo usando los resultados del literal c.
d. Opcional Adjunte los resultado.txt y gráfica.png realizadas con el algoritmo.py
Rúbrica: literal a (8 puntos), literal b (15 puntos), literal c (7 puntos), literal d (5 puntos).
Referencia: [1] Ecuaciones diferenciales y dinámica de poblaciones. Dpto de Análisis matemático- Universidad de Granada. página3. Revisado en enero 2025. https://www.ugr.es/~fjperez/textos/Tema_6_EEDD_y_Dinamica_de_Poblaciones.pdf
Para el desarrollo de las iteraciones se requieren valores iniciales. Para la variable independiente tiempo podría usar t = 0.
Para la variable dependiente población, según la descripción se encontraría entre el intervalo [10,50]. Si x0<10 la población se extingue. Si la variable x0>50 se encuentra saturada la capacidad del medio.
Por lo que se propone usar un valor mayor que el mínimo, por ejemplo x0=11 y otro valor que se encuentre en el intervalo.
Según los resultados de las tres iteraciones anteriores, la población crece. El resultado es acorde al concepto descrito en el enunciado para poblaciones mayores al valor mínimo de extinción. En el ejercicio se usó 11 como valor inicial.
Esto se puede comprobar usando el algoritmo y teniendo los resultados presentados en el literal d
En vuelo nocturno, un helicóptero debe pasar por los puntos de referencia (xi,yi) mostrados.
El vuelo se realiza de forma semejante a lo descrito en el tema anterior con altura zi constante y bajo el control del piloto.
xi = [0. , 2.50, 3.75, 5.00, 6.25, 7.5 ]
yi = [3.7 , 3.25, 4.05, 4.33, 2.95, 3.22]
a. Plantee y desarrolle un polinomio P3(x) de grado 3, que describa la trayectoria para y(x) en todo intervalo. Las expresiones y tablas para el desarrollo deben ser completas mostrando los valores usados.
b. Verifique que P(x) pase por los puntos seleccionados de la muestra.
c. Calcule el error sobre el o los datos que no se usaron en el intervalo.
d. Escriba sus conclusiones y recomendaciones sobre los resultados obtenidos.
e. Encuentre el valor del error usando la expresión para y(x) dada en el tema 1 y P(5),
f. Opcional: Adjunte los archivos en aula virtual para: gráfica.png de P(x), resultados.txt con el algoritmo.py
Rúbrica: literal a (10 puntos), literal b (4 puntos), literal c (5 puntos), literal d (6 puntos), literal f (5 puntos) por considerar en calificación total.
xi = [0. , 2.50, 3.75, 5.00, 6.25, 7.5 ]
yi = [3.7 , 3.25, 4.05, 4.33, 2.95, 3.22]
literal a
Según la gráfica presentada, los puntos a considerar para todo el intervalo, deberían ser al menos el primero y el último. Para un polinomio de grado 3 se requieren usar 4 muestras, por lo que faltarían dos muestras dentro del intervalo. Los puntos adicionales estarían entre los puntos intermedios, tratando de mantener una distancia equidistante entre ellos y tratar de mantener los cambios de dirección.
Los puntos seleccionados para el ejercicio serán
xi = [0. , 2.50, 5.00, 7.5 ]
fi = [3.7 , 3.25, 4.33, 3.22]
Se puede construir el polinomio con los cualquiera de los métodos para interpolación dado que tienen tamaños de paso iguales entre tramos.
Desarrollando con el método de Lagrange, el polinomio se construye como:
Se comprueba que los valores obtenidos corresponden a las muestras, por lo que el polinomio cumple con los criterios básicos de interpolación. La gráfica permite verificar también el resultado.
Observando las gráficas de la trayectoria construida junto a las funciones descritas en el tema 1 se tiene que:
Un polinomio de grado 3 es insuficiente para describir la trayectoria, se debe aumentar el grado del polinomio para ajustar mejor la curva.
Por ejemplo, usando todos los puntos, la trayectoria y el polinomio son mas cercanas aunque no iguales.
literal e
Encontrar el error en P(5), como x=5 y es parte de los puntos de muestra, el error debería ser cero. Siempre y cuando x=5 sea parte de los puntos seleccionados.
p3(5)=3.7−0.982(5)+0.42(5)2−0.03968(5)3=4.33
error = | 4.33-4.33| = 0
literal f
Los resultados con el algoritmo de Lagrange se muestran como:
Tema 1 (35 puntos) Durante el procedimiento automático de aterrizaje nocturno de un avión comercial, un helicóptero se desplazaba en vuelo bajo cerca de las riberas del río en los límites del aeropuerto.
Lamentablemente se produjo una colisión entre las aeronaves.
Para un análisis del accidente de dispone de las trayectorias de las aeronaves descritas según las ecuaciones siguientes:
Avión
Helicóptero
Ax(t) = 5.1
Hx(t) = 0.5t
Ay(t) = 0.4t
Hy(t) = sin(0.1t)cos(0.7t)+3.7
Az(t)=0.5e−0.2t+0.3
Hz(t) = 0.36
a. Plantear el ejercicio para encontrar el tiempo t cuando la distancia entre aeronaves es mínima.
b. Muestre y verifique el intervalo de tiempo para la búsqueda [a,b].
c. Desarrolle al menos tres iteraciones usando uno de los métodos para encontrar raíces de ecuaciones. En cada iteración, las expresiones deben ser completas, con los valores correspondientes.
d. Indique y describa la tolerancia usada y el error en cada iteración.
e. Justifique la convergencia del método. ¿Qué puede interpretar sobre los valores de distancia mínima?
f. Opcional: Encuentre las coordenadas de choque entre las dos aeronaves, muestre la gráfica de y(t), los resultados.txt con el algoritmo. Adjunte los archivos en aula virtual.
Nota: Un avión comercial mide aproximadamente 70 m de longitud, 65 m de envergadura, altura de 19 m. Un helicóptero semejante al del caso tiene longitud de 11 metros y diámetro de rotor principal 13 metros, altura de 4 m.
d=(x2−x1)2+(y2−y1)2+(z2−z1)2
Rúbrica: literal a (5 puntos), literal b (5 puntos), literal c (15 puntos), literal d (5 puntos), literal e (5 puntos), literal f, considerar en calificación total.
Referencia: [1] ¿Por qué chocaron el avión y el helicóptero en Washington? Esto dicen las investigaciones hasta ahora. CNN. https://cnnespanol.cnn.com/2025/01/31/eeuu/choque-avion-helicoptero-investigaciones-trax
[2] How the Washington DC plane crash unfolded. Guardian News. 31 Enero 2025. https://www.youtube.com/watch?v=ZEKwbyo61W8
[3] Examining the Minutes Before the D.C. Air Disaster | Visual Investigation. The New York Times. 5 Febrero 2025.
[4] Plane Crash with Black Hawk Helicopter Explained. AiTelly. 30 Enero 2025.
La distancia entre las aeronaves se determina a partir de las ecuaciones proporcionadas en el enunciado.
d=(x2−x1)2+(y2−y1)2+(z2−z1)2
La ecuación también mantiene la forma y el mínimo si se utiliza el cuadrado de la distancia:
D=d2=(x2−x1)2+(y2−y1)2+(z2−z1)2
Las diferencias de distancia por eje pueden ser convergentes hacia el punto de impacto, dado que se conoce que el accidente ya ocurrió. Por lo que también se pueden revisar las distancias entre ejes en lugar de la distancia total en 3D, simplificando un poco el ejercicio. Observe la gráfica proporcionada:
Se realiza la gráfica para la distancia al cuadrado Di y las distancias por cada eje dxi, dyi, dzi :
Por lo que el resultado también se podría determinar usando por ejemplo el eje y. La ecuación a buscar la distancia mínima, punto de choque o cruce por cero podría ser:
f(t)=dy(t)=sin(0.1t)cos(0.7t)+3.7−0.4t=0
literal b
Por la gráfica se puede obtener un intervalo de búsqueda entre [8, 12], que usando solo las distancias en el eje y, se tiene:
dy(8)=1.0563dy(12)=−1.5839
literal c
Se pide usar un método de búsqueda de raíces, pudiendo seleccionar Bisección en el intervalo encontrado en el literal b.
La variable independiente en el ejercicio es tiempo ‘t’, que podría ser segundos. Si la tolerancia se estima en milisegundos, tolera = 10-3 .
El error se ha calculado en cada iteración
literal e
El error disminuye en cada iteración, por lo que el método converge.
La distancia mínima entre las aeronaves no tiene que llegar a cero para que se produzca un accidente. Las dimensiones de las aeronaves muestran que se encuentran entre 70m y 4 m, por lo que se estima que debe existir una separación mayor a 70 metros en cualquiera de los ejes para evitar un accidente. Si las coordenadas se estiman en Km, la tolerancia sería de 0.070 Km al considerar más de 70 metros como la distancia segura.
Instrucciones en Python para Gráfica de distancias
import numpy as np
import matplotlib.pyplot as plt
import sympy as sym
# INGRESO# Avión Aterriza
Ax = lambda t: 5.1 + 0*t
Ay = lambda t: 0.4*t
Az = lambda t: 0.5*np.exp(-0.2*t) + 0.3
# helicóptero
Hx = lambda t: 0.5*t + 0*t
Hy = lambda t: np.sin(0.10*t)*np.cos(0.7*t)+ 3.7
Hz = lambda t: 0.36 + 0*t
a = 0
b = 6/0.5 # x entre[0,6] usando gx(t)= 6
muestras = 41
# PROCEDIMIENTO# Distancia por ejes
dx = lambda t: Hx(t) - Ax(t)
dy = lambda t: Hy(t) - Ay(t)
dz = lambda t: Hz(t) - Az(t)
# Distancia 3D
distancia2 = lambda t: dx(t)**2 + dy(t)**2 + dz(t)**2
# Simulacion en segmento t=[a,b]
ti = np.linspace(a,b,muestras)
dxi = dx(ti)
dyi = dy(ti)
dzi = dz(ti)
Di = distancia2(ti)
# SALIDAprint(dy(8))
print(dy(12))
plt.plot(ti,Di, label='Di')
plt.plot(ti,dxi,label='dxi')
plt.plot(ti,dyi,label='dyi')
plt.plot(ti,dzi,label='dzi')
plt.xlabel('ti')
plt.ylabel('distancia2')
plt.grid()
plt.legend()
plt.show()
Instrucciones en Python – Algoritmo Bisección
# 3Eva_2024PAOII_T1 Accidente entre aeronaves# Algoritmo de Bisección# [a,b] se escogen de la gráfica de la función# error = toleraimport numpy as np
import matplotlib.pyplot as plt
# Algoritmo de Bisección# [a,b] se escogen de la gráfica de la función# error = toleraimport numpy as np
defbiseccion(fx,a,b,tolera,iteramax = 20, vertabla=False, precision=4):
'''
Algoritmo de Bisección
Los valores de [a,b] son seleccionados
desde la gráfica de la función
error = tolera
'''
fa = fx(a)
fb = fx(b)
tramo = np.abs(b-a)
itera = 0
cambia = np.sign(fa)*np.sign(fb)
if cambia<0: # existe cambio de signo f(a) vs f(b)if vertabla==True:
print('método de Bisección')
print('i', ['a','c','b'],[ 'f(a)', 'f(c)','f(b)'])
print(' ','tramo')
np.set_printoptions(precision)
while (tramo>=tolera and itera<=iteramax):
c = (a+b)/2
fc = fx(c)
cambia = np.sign(fa)*np.sign(fc)
if vertabla==True:
print(itera,[a,c,b],np.array([fa,fc,fb]))
if (cambia<0):
b = c
fb = fc
else:
a = c
fa = fc
tramo = np.abs(b-a)
if vertabla==True:
print(' ',tramo)
itera = itera + 1
respuesta = c
# Valida respuestaif (itera>=iteramax):
respuesta = np.nan
else:
print(' No existe cambio de signo entre f(a) y f(b)')
print(' f(a) =',fa,', f(b) =',fb)
respuesta=np.nan
return(respuesta)
# INGRESO
fx = lambda t: np.sin(0.10*t)*np.cos(0.7*t)+ 3.7 - 0.4*t
a = 8
b = 12
tolera = 0.001
# PROCEDIMIENTO
respuesta = biseccion(fx,a,b,tolera,vertabla=True)
# SALIDAprint('raíz en: ', respuesta)
Tema 3. (35 puntos) Considere la ecuación diferencial parcial, tipo elíptica descrita sobre una placa en el plano x,y:
∂x2∂2u=−∂y2∂2u
0≤x≤1 ; 0≤y≤1.5
Con condiciones en frontera en los intervalos definidos para una placa.
u(0, y) = 0 ; u(1, y) = 0
u(x, 0) = 0
u(x, 1.5) = 100 sin(πx)
Utilice diferencias finitas para las variables independientes x,y
a. Plantee las ecuaciones discretas a usar un método numérico en un nodo i,j
b. Realice la gráfica de malla, detalle los valores de i, j, xi, yj
c. Desarrolle y obtenga el modelo discreto para u(xi,yj)
d. Determine el valor de Lambda λ, considerando Δx = 1/4 , Δy = 1/8
e. Desarrolle la ecuación para al menos tres nodos i,j diferentes y consecutivos.
f. (Extra) Estime el error de u(xi,tj) y adjunte los archivos del algoritmo.py, resultados.txt, gráficas.png
Rúbrica: Selección de diferencias finitas divididas (5 puntos), literal b (5 puntos), literal c (5 puntos), literal d (5 puntos), literal e (15 puntos). literal f extra (5 puntos)
Tema 2 (35 puntos) Suponga que en un país democrático existen dos tendencias políticas identificadas por los colores Azul y Rojo [1,3].
Al inicio, la gran mayoría de la población tiene preferencia “Azul”. Los hijos que nacen en población Azul se educan e identifican con la tendencia política Azul. Sin embargo, algunos jóvenes al encontrarse con las ideas de los Rojos cambian su preferencia política a Rojo e incluso se mudan hacia provincias o estados donde predomina una tendencia.
Las provincias donde predominan los Rojos comienzan a crecer no solo por los nacimientos y educación en familias Rojas, sino también por las mudanzas, lo que podría a cambiar la balanza en las votaciones “democráticas” de gobierno. Se observa que las provincias predominantemente Rojas tienen un costo de vida menor aunque con expectativa de vida menor [2], sin embargo las tendencias de cambio se mantienen.
En un modelo de Rashevsky modificado con la ecuación logística de Verhulst [4], la población anual del país se describe con x(t), con tasas de natalidad a = 0.018 y mortalidad b = 0.012
δtδx=ax−bx2
x(0)=2
La población de Rojos es minoría y se describe con y(t).
δtδy=0.026x−0.017y2+0.19b(x−y)
y(0)=0.5
Sin embargo los jóvenes descendientes de los Azules al meditar sobre la situación actual del país, como protesta, cambian su tendencia política hacia los Rojos, a tasa de 0.19 de jóvenes descendientes “Azules”.
a. Realice el planteamiento del ejercicio usando Runge-Kutta de 2do Orden.
b. Desarrolle tres iteraciones con expresiones completas para x(t), y(t) con tamaño de paso h=0.5.
c. Realice una observación sobre el crecimiento de población del país, x(t), a lo largo del tiempo usando los resultados del literal c.
d. Realice una observación sobre el gobierno elegido democráticamente por mayoría, según los resultados de y(t) en el literal c.
e. (Extra) Encuentre el tiempo t cuando los “Rojos” y(t) se vuelven mayoría simple, más de la mitad de la población x(t). Se supondrá que la tendencia política gobernante será “Roja”. Adjunte algoritmo.py, resultado.txt y gráfica.png.
Rúbrica: literal a (5 puntos), literal b (20 puntos), literal c (5 puntos), literal d (5 puntos), literal e Extra (5 puntos)
Referencia:[1] Estados rojos y estados azules. Wikipedia, Enero 2025. https://es.wikipedia.org/wiki/Estados_rojos_y_estados_azules
[2] Los estadounidenses se mudan cada vez más a estados rojos, de tendencia republicana , donde la vida es más barata, pero la gente también muere más joven. theconversarion.com. Mayo 25, 2023. https://theconversation.com/americans-are-increasingly-moving-to-red-republican-leaning-states-where-life-is-cheaper-but-people-also-die-younger-205980
[4] Rashevsky, MIT 1968. pp102-110, Protestantismo https://es.wikipedia.org/wiki/Protestantismo
[3] Bipartidismo en EEUU: ¿Solo existen dos partidos? Enterarse. 15 Octubre 2020.