s1Eva_2023PAOI_T1 Desacople de cohete de dos etapas

Ejercicio: 1Eva_2023PAOI_T1 Desacople de cohete de dos etapas

literal a. Planteamiento

La ecuación a usar según el enunciado es y usando los valores dados es:

v = u \ln\Big(\frac{m_0}{m_0-qt}\Big) - gt 800 = 1870 \ln\Big(\frac{195000}{195000-2500 t}\Big) - 9.8 t

con lo que la función para buscar la raíz es:

f(t) = 1870 \ln\Big(\frac{195000}{195000-2500 t}\Big) - 9.8 t -800

Literal b. Intervalo de búsqueda

Para el intervalo de búsqueda se puede usar una gráfica e interpretar el punto a buscar alrededor de 800 m/s. Que de la gráfica se observa que un intervalo alrededor de 35 sería válido para el método de la Bisección. Para otros métodos abiertos, también es posible deducir un punto t0.

La validación se muestra con la primera iteración al evaluar f(30) que es negativo y f(40) que es de signo positivo.

Desacople de cohete de dos etapasInstrucciones en Python

# 1Eva_2023PAOI_T1 Desacople de cohete de dos etapas
import numpy as np
import matplotlib.pyplot as plt

# INGRESO
v = lambda t: 1870*np.log(195000/(195000-2500*t))-9.8*t
a = 0
b = 40
tramos = 51

# PROCEDIMIENTO
ti = np.linspace(a,b,tramos)
vi = v(ti)

# SALIDA
plt.plot(ti,vi)
plt.xlabel('ti')
plt.ylabel('vi')
plt.title('Velocidad vertical vs tiempo')
plt.grid()
plt.show()

literal c. Desarrollo con algoritmo de Bisección

itera =0, intervalo [30,40]

f(30) = 1870 \ln\Big(\frac{195000}{195000-2500 (30)}\Big) - 9.8 (30) -800 = -186.100 f(40) = 1870 \ln\Big(\frac{195000}{195000-2500 (40)}\Big) - 9.8 (40) -800 = 152.759 c= \frac{a+b}{2}= \frac{30+40}{2} = 35 f(35) = 1870 \ln\Big(\frac{195000}{195000-2500 (35)}\Big) - 9.8 (35) -800 = -29.399

error = tramo = |40-30| = 10

como f(a) y f(c) son del mismo signo, el intervalo nuevo será [35,40]

itera =1 , intervalo [35,40]

c= \frac{35+40}{2} = 37.5 f(37.5) = 1870 \ln\Big(\frac{195000}{195000-2500 (37.5)}\Big) - 9.8 (37.5) -800 = 58.111

error = tramo = |40-35| = 5

como f(c) y f(b) son del mismo signo, el intervalo nuevo será [35,37.5]

itera =2 , intervalo [35,37.5]

c= \frac{37.5+35}{2} = 36.25 f(36.25) = 1870 \ln\Big(\frac{195000}{195000-2500 (36.25)}\Big) - 9.8 (36.25) -800 = 13.518

error = tramo = |37.5-35| = 2.5

como f(c) y f(b) son del mismo signo, el intervalo nuevo será [35,36.25]

[ i, a,    c,     b,     f(a),    f(c),   f(b),   tramo]
  1 30.000 35.000 40.000 -186.100 -29.399 152.759 10.000 
  2 35.000 37.500 40.000 -29.399   58.111 152.759  5.000 
  3 35.000 36.250 37.500 -29.399   13.518 58.111   2.500 
  4 35.000 35.625 36.250 -29.399   -8.144 13.518   1.250 
  5 35.625 35.938 36.250 -8.144     2.635 13.518   0.625 
  6 35.625 35.781 35.938 -8.144    -2.767 2.635    0.312 
  7 35.781 35.859 35.938 -2.767    -0.069 2.635    0.156 
  8 35.859 35.898 35.938 -0.069     1.282 2.635    0.078 
raiz:  35.8984375
>>>

literal d. tolerancia y errores

La tolerancia depende de la escala a la que se mide y el instrumento de medición. Si consideramos décimas de segundo la tolerancia será de 10-1. ó 0.1

Los errores entre iteraciones se muestran en el literal anterior.

literal e. convergencia

Los errores en cada iteración disminuye, lo que muestra que el método converge. Luego de 8 iteraciones se encuentra el tiempo ti a usar como 35.8 s.

Se adjunta el algoritmo de la bisección ajustado para el ejercicio. La gráfica es complementaria a la presentada en el literal b, que puede ser incorporada al mismo algoritmo para la presentación.

Instrucciones en Python

# Algoritmo de Bisección
# 1Eva_2023PAOI_T1 Desacople de cohete de dos etapas
import numpy as np

# INGRESO
fx = lambda t: 1870*np.log(195000/(195000-2500*t))-9.8*t -800
a = 30
b = 40
tolera = 0.1

# PROCEDIMIENTO
tabla = []
tramo = b-a

fa = fx(a)
fb = fx(b)
i = 1
while (tramo>tolera):
    c = (a+b)/2
    fc = fx(c)
    tabla.append([i,a,c,b,fa,fc,fb,tramo])
    i = i + 1
                 
    cambia = np.sign(fa)*np.sign(fc)
    if (cambia<0):
        b = c
        fb = fc
    else:
        a=c
        fa = fc
    tramo = b-a
c = (a+b)/2
fc = fx(c)
tabla.append([i,a,c,b,fa,fc,fb,tramo])
tabla = np.array(tabla)

raiz = c

# SALIDA
np.set_printoptions(precision = 4)
print('[ i, a, c, b, f(a), f(c), f(b), tramo]')
# print(tabla)

# Tabla con formato
n=len(tabla)
for i in range(0,n,1):
    unafila = tabla[i]
    formato = '{:.0f}'+' '+(len(unafila)-1)*'{:.3f} '
    unafila = formato.format(*unafila)
    print(unafila)
    
print('raiz: ',raiz)

1Eva_2023PAOI_T1 Desacople de cohete de dos etapas

1ra Evaluación 2023-2024 PAO I. 4/Julio/2023

Tema 1 (30 puntos) El 20 de abril del 2023 será recordado por SpaceX por ser el día en que Starship, el cohete totalmente re – utilizable más alto y más potente de la historia, consiguió alzar el vuelo. cohete dos etapas hot staging

Sin embargo, la nave ha explotado pocos minutos después de su despegue.

El sistema de lanzamiento es de dos etapas: la primera etapa impulsa el vehículo al momento del lanzamiento, en la segunda etapa el cohete propulsor se desacopla y la nave sigue su camino en solitario encendiendo otros seis motores.

Para el siguiente lanzamiento se usa la separación de etapas en caliente (hot staging), que arranca los  motores de la etapa superior, o nave, mientras que la primera etapa, todavía está acoplada y funcionando.

Considere que la velocidad vertical de un cohete se calcula con la fórmula:

v = u \ln\Big(\frac{m_0}{m_0-qt}\Big) - gt

Donde:

v   = velocidad hacia arriba,
u   = 1870 m/s, velocidad a que se expele el combustible en relación con el cohete,
m0 = 195 000 kg, masa inicial del cohete en el tiempo t = 0,
q    = 2 500 kg/s,  tasa de consumo de combustible y
g    = 9.8 m/s2, aceleración de la gravedad

Si la segunda etapa debe iniciar cuando la velocidad del vehículo ha alcanzado los 800 m/s, encuentre el valor de tiempo cuando se debe iniciar el encendido de los seis motores de la nave.

a. Plantee el ejercicio a resolver usando un método numérico para búsqueda de raíces

b. Verifique el intervalo a usar

c. Desarrolle al menos tres iteraciones con todas las expresiones

d. Muestre la tolerancia y errores a considerar

e. Realice las observaciones de convergencia

Rúbrica: literal a (3 puntos), literal b (2puntos), literal c (15puntos), literal d (5 puntos), literal e (5 puntos)

Referencia: [1] En su reconstrucción de Starship, Spacex ha encontrado una inspiración sorprendente: el Soyuz soviético. 28 Junio 2023. https://www.xataka.com/espacio/spacex-se-prepara-para-volver-a-lanzar-starship-starship-grandes-cambios-que-recuerdan-al-soyuz-sovietico

[2] Los 4 minutos de gloria del cohete Starship. nationalgeographic.com.es  02 de mayo de 2023. https://www.nationalgeographic.com.es/ciencia/starship-primera-mision-cohete-mas-potente-historia_19780

[3] Starship Explosion Video: Watch Elon Musk’s Rocket Explode After Launch. Wall Street Journal. 20 abr 2023.

6.5 EDO lineal – solución complementaria y particular con Sympy-Python

Referencia: Sympy ODE solver. Stewart James. Cálculo de varias variables. 17.2 p1148 pdf545. Lathi Ejemplo 2.1.a p155, Ejemplo 2.9 p175, Oppenheim 2.4.1 p117, ejemplo 1 de Modelo entrada-salida,

Los métodos analíticos para encontrar una solución y(t) a una ecuación diferencial ordinaria EDO requieren identificar el tipo de la ecuación para establecer el método de solución. Sympy incorpora librerías que pueden asistir en la solución con muchos de los métodos analíticos conocidos.

Ejemplo 1. Ecuación diferencial de un circuito RLC, ecuación complementaria.circuito RLC

El circuito RLC con entrada x(t) de la figura tiene una corriente y(t) o salida del sistema que se representa  por medio de una ecuación diferencial.

\frac{d^{2}y(t)}{dt^{2}} + 3\frac{dy(t)}{dt} + 2y(t) = \frac{dx(t)}{dt}

Las condiciones iniciales del sistema a tiempo t=0 son y(0)=0 , y'(0)=-5

Encuentre la solución considerando como entrada x(t)

x(t) = 10 e^{-3t} \mu(t)

1.1 Ecuación diferencial y condiciones de frontera o iniciales

La ecuación diferencial del ejercicio con Sympy se escribe con el operador sym.diff(y,t,k). Indicando la variable independiente, que ‘y‘ es una función y el orden de la derivada con k.

La ecuación puede escribirse como lado izquierdo (LHS) es igual al lado derecho (RHS). Una ecuación en Sympy se compone de las dos partes sym.Eq(LHS,RHS).

# INGRESO
t = sym.Symbol('t', real=True)
r = sym.Symbol('r')
y = sym.Function('y')
x = sym.Function('x')

# ecuacion: lado izquierdo = lado derecho
#           Left Hand Side = Right Hand Side
LHS = sym.diff(y(t),t,2) + 3*sym.diff(y(t),t,1) + 2*y(t)
RHS = sym.diff(x(t),t,1)
ecuacion = sym.Eq(LHS,RHS)

Las condiciones de frontera o iniciales y(0)=0, y'(0)=-5 se ingresan en un diccionario en el siguiente formato

# condiciones de frontera o iniciales
y_cond = {y(0) : 0,
          sym.diff(y(t),t,1).subs(t,0) : -5}

la entrada x(t) conocida se define como:

# ecuacion entrada x(t)
xp = 10*sym.exp(-3*t)*sym.Heaviside(t)

1.2 Clasificar la ecuación diferencial ordinaria

Para revisar el tipo de EDO a resolver se tiene la instrucción:

>>> sym.classify_ode(ecuacion, y(t))
('factorable', 
 'nth_linear_constant_coeff_variation_of_parameters', 
 'nth_linear_constant_coeff_variation_of_parameters_Integral')
>>>

Solución EDO como suma de solución complementaria y solución particular

La solución para una EDO puede presentarse también como la suma de una solución complementaria y una solución particular

y(t) = y_p(t) + y_c(t)

1.3 Solución complementaria yc(t)

La solución complementaria de la EDO se interpreta también como respuesta de entrada cero del circuito, donde la salida y(t) depende solo de las condiciones iniciales del circuito. Para el ejemplo, considera solo las energías internas almacenadas en el capacitor y el inductor. Para éste caso x(t) = 0

Es necesario crear la ecuación homogénea con x(t)=0 en la ecuación diferencial para encontrar la solución con las condiciones iniciales dadas en el enunciado del ejercicio.

# ecuación homogénea x(t)=0, entrada cero
RHSx0 = ecuacion.rhs.subs(x(t),0).doit()
LHSx0 = ecuacion.lhs.subs(x(t),0).doit()
homogenea = LHSx0 - RHSx0

# solucion general de ecuación homogénea
yc = sym.dsolve(homogenea, y(t),ics=y_cond)
yc = yc.expand()

el resultado de la ecuación complementaria es

solucion complementaria y_c(t): 
            -t      -2*t
y(t) = - 5*e   + 5*e    

1.4 Solución particular yp(t)

En el caso de la solución particular, se simplifica la ecuación diferencial al sustituir x(t) con la entrada particular xp(t). Las condiciones iniciales en este caso consideran que el circuito no tenía energía almacenada en sus componentes (estado cero), por lo que las condiciones iniciales no se consideran.

# ecuación particular x(t)=0, estado cero
RHSxp = ecuacion.rhs.subs(x(t),x_p).doit()
LHSxp = ecuacion.lhs.subs(x(t),x_p).doit()
particular = LHSxp - RHSxp

# solucion particular de ecuación homogénea
yp = sym.dsolve(particular, y(t))

Se aplica nuevamente la búsqueda de la solución con sym.dsolve() y se obtiene la solución particular que incluye parte del modelo de la ecuación homogénea con los coeficientes Ci

>>> sym.pprint(yp.expand())
           -t       -2*t      -t                    -2*t                    -3*t
y(t) = C1*e   + C2*e     - 5*e  *Heaviside(t) + 20*e    *Heaviside(t) - 15*e    *Heaviside(t)

>>> yp.free_symbols
{C2, C1, t}
>>>

En éste punto se incrementan los términos de las constantes C1 y C2 como símbolos, que para tratar exclusivamente la solución particular, se reemplazan con ceros. Para obtener las variables de la ecuación se usa la instrucción yp.free_symbols que entrega un conjunto. El conjunto se descarta el símbolo t y se sustituye todos los demás por cero en la ecuación.

    # particular sin terminos Ci
    y_Ci = yp.free_symbols
    y_Ci.remove(t) # solo Ci
    for Ci in y_Ci: 
        yp = yp.subs(Ci,0)

quedando la solución particular como:

            -t                    -2*t                    -3*t             
y(t) = - 5*e  *Heaviside(t) + 20*e    *Heaviside(t) - 15*e    *Heaviside(t)

1.5 Solución EDO como suma de complementaria + particular

La solución de la ecuación diferencial ordinaria, ante la entrada x(t) y condiciones iniciales es la suma de los componentes complementaria y particular:

# solucion total = complementaria + particular
ytotal = yc.rhs + yp.rhs

El resultado de todo el algoritmo  permite interpretar la respuesta con los conceptos de las respuestas del circuito a entrada cero y estado cero, que facilitan el análisis de las soluciones en ejercicios de aplicación.

ecuación diferencial a resolver: 
                        2                 
           d           d          d       
2*y(t) + 3*--(y(t)) + ---(y(t)) = --(x(t))
           dt           2         dt      
                      dt                  
condiciones iniciales
  y(0)  =  0
  Subs(Derivative(y(t), t), t, 0)  =  -5
clasifica EDO:
  factorable
  nth_linear_constant_coeff_variation_of_parameters
  nth_linear_constant_coeff_variation_of_parameters_Integral
x(t): 
    -3*t             
10*e    *Heaviside(t)
solucion complementaria yc(t): 
            -t      -2*t
y(t) = - 5*e   + 5*e    
solucion particular yp(t): 
       /     -t       -2*t       -3*t\             
y(t) = \- 5*e   + 20*e     - 15*e    /*Heaviside(t)
solucion y(t) = yc(t) +yp(t): 
/     -t       -2*t       -3*t\                   -t      -2*t
\- 5*e   + 20*e     - 15*e    /*Heaviside(t) - 5*e   + 5*e    
>>> 

Instrucciones en Python

# Solución de unaEcuación Diferencial Ordinaria EDO
# Lathi 2.1.a pdf 155, (D^2+ 3D + 2)y = Dx
import sympy as sym

# INGRESO
t = sym.Symbol('t', real=True)
y = sym.Function('y')
x = sym.Function('x')

# ecuacion: lado izquierdo = lado derecho
#           Left Hand Side = Right Hand Side
LHS = sym.diff(y(t),t,2) + 3*sym.diff(y(t),t,1) + 2*y(t)
RHS = sym.diff(x(t),t,1)
ecuacion = sym.Eq(LHS,RHS)

# condiciones de frontera o iniciales
y_cond = {y(0) : 0,
          sym.diff(y(t),t,1).subs(t,0) : -5}

# ecuacion entrada x(t)
xp = 10*sym.exp(-3*t)*sym.Heaviside(t)

# PROCEDIMIENTO
edo_tipo = sym.classify_ode(ecuacion, y(t))

# ecuación homogénea x(t)=0, entrada cero
RHSx0 = ecuacion.rhs.subs(x(t),0).doit()
LHSx0 = ecuacion.lhs.subs(x(t),0).doit()
homogenea = LHSx0 - RHSx0

# solucion general de ecuación homogénea
yc = sym.dsolve(homogenea, y(t),ics=y_cond)
yc = yc.expand()

def edo_lineal_particular(ecuacion,xp):
    ''' edo solucion particular con entrada x(t)
    '''
    # ecuación particular x(t)=0, estado cero
    RHSxp = ecuacion.rhs.subs(x(t),xp).doit()
    LHSxp = ecuacion.lhs.subs(x(t),xp).doit()
    particular = LHSxp - RHSxp

    # solucion particular de ecuación homogénea
    yp = sym.dsolve(particular, y(t))

    # particular sin terminos Ci
    y_Ci = yp.free_symbols
    y_Ci.remove(t) # solo Ci
    for Ci in y_Ci: 
        yp = yp.subs(Ci,0)
        
    # simplifica y(t) y agrupa por escalon unitario
    yp = sym.expand(yp.rhs,t)
    lista_escalon = yp.atoms(sym.Heaviside)
    yp = sym.collect(yp,lista_escalon)
    yp = sym.Eq(y(t),yp)
    
    return(yp)

yp = edo_lineal_particular(ecuacion,xp)
# solucion total
ytotal = yp.rhs + yc.rhs


# SALIDA
print('ecuación diferencial a resolver: ')
sym.pprint(ecuacion)

# condiciones iniciales
print('condiciones iniciales')
for caso in y_cond:
    print(' ',caso,' = ', y_cond[caso])

print('clasifica EDO:')
for elemento in edo_tipo:
    print(' ',elemento)

print('x(t): ')
sym.pprint(xp)

print('solucion complementaria yc(t): ')
sym.pprint(yc)

print('solucion particular yp(t): ')
sym.pprint(yp)

print('solucion y(t) = yc(t) +yp(t): ')
sym.pprint(ytotal)

1.6  Grafica de resultados

Se adjunta la gráfica de los resultados de las ecuaciones complementaria, particular y total

EDO lineal Complementaria Particular 01

Instrucciones adicionales en Python

# GRAFICA ------------------
import numpy as np
import matplotlib.pyplot as plt
equivalentes = [{'DiracDelta': lambda x: 1*(x==0)},
                {'Heaviside': lambda x,y: np.heaviside(x, 1)},
                'numpy',]

# INGRESO
t_a = 0 ; t_b = 5 # intervalo tiempo [t_a,t_b]
muestras = 51

# PROCEDIMIENTO
y_c = sym.lambdify(t,yc.rhs, modules=equivalentes)
y_p = sym.lambdify(t,yp.rhs, modules=equivalentes)
y_cp = sym.lambdify(t,ytotal, modules=equivalentes)
ti = np.linspace(t_a,t_b,muestras)
yci = y_c(ti)
ypi = y_p(ti)
ycpi = y_cp(ti)

# Grafica
plt.plot(ti,yci, color='orange', label='yc(t)')
plt.plot(ti,ypi, color='dodgerblue', label='yp(t)')
plt.plot(ti,ycpi, color='green', label='y(t)')
untitulo = 'y(t)=$'+ str(sym.latex(ytotal))+'$'
plt.title(untitulo)
plt.xlabel('t')
plt.legend()
plt.grid()
plt.show()

Un desarrollo semejante del ejercicio aplicando conceptos del curso de señales y sistemas de proporciona en:

LTI CT Respuesta del Sistema Y(s)=ZIR+ZSR con Sympy-Python

3Eva_2022PAOII_T4 Recesión económica, PIB y diferenciación numérica

3ra Evaluación 2022-2023 PAO II. 7/febrero/2023

Tema 4. (20 puntos) Las recesiones económicas se caracterizan por presentar una disminución del consumo, de la inversión y de la producción de bienes y servicios. Lo cual provoca, a su vez, que se despidan trabajadores y por tanto, aumente el desempleo. La recesión es también conocida como el periodo de «vacas flacas».

PIBEcuador2022_crecimiento01

La opinión emitida por Julius Shiskin en un artículo publicado el 28 de agosto de 1975 en el diario New York Times en torno a dos trimestres consecutivos de caída del PIB como plazo definitorio para el considerar una recesión.

a. Plantee y describa los métodos de diferenciación numérica que usen dos y tres puntos para primera derivada.

b. Realice tres iteraciones con los métodos numéricos seleccionados. Describa el tamaño de paso usado en cada método.

c. Compare los resultados del literal anterior y escriba sus observaciones respecto a las cotas de error.

d. Determine los periodos de “recesión económica” para los datos proporcionados entre el año 2012 y 20122. Liste acorde a lo definido por J. Shiskin. Use los algoritmos y adjunte los archivos usados (py,txt,png).

trimestres = ['2012.I', '2012.II', '2012.III', '2012.IV',
 '2013.I', '2013.II', '2013.III', '2013.IV', '2014.I',
 '2014.II', '2014.III', '2014.IV', '2015.I', '2015.II',
 '2015.III', '2015.IV', '2016.I', '2016.II', '2016.III',
 '2016.IV', '2017.I', '2017.II', '2017.III', '2017.IV',
 '2018.I', '2018.II', '2018.III', '2018.IV', '2019.I',
 '2019.II', '2019.III', '2019.IV', '2020.I', '2020.II',
 '2020.III', '2020.IV', '2021.I', '2021.II', '2021.III',
 '2021.IV', '2022.I', '2022.II', '2022.III']

PIB trimestral = [21.622937, 21.908844, 22.106937,
 22.285826, 23.019786, 23.441324, 24.238576, 24.429973,
 24.829431, 25.540887, 25.9404, 25.415613, 25.052739,
 25.086195, 24.779738, 24.371709, 24.913573, 24.926186,
 24.910741, 25.187196, 26.000261, 25.99355, 25.960907,
 26.341144, 26.510612, 26.761827, 27.078404, 27.211165,
 26.914897, 27.058331, 27.054758, 27.080023, 26.314576,
 23.110752, 24.64388, 25.221916, 25.412756, 26.20682,
 26.828611, 27.717679, 28.372038, 28.74092, 29.334581]

Rúbrica: literal a (3 puntos), literal b (9 puntos). literal c(3 puntos) literal d (5 puntos)

Referencia: Recesión económica. Wikipedia. https://es.wikipedia.org/wiki/Recesi%C3%B3n
Recesión económica. economipedia. https://economipedia.com/definiciones/recesion-economica.html

Boletín de Cuentas Nacionales Trimestrales No. 121, valores constantes USD 2007 y corrientes, período : 2000.I – 2022.IIIIT  Banco Central del Ecuador (2022) https://contenido.bce.fin.ec/documentos/PublicacionesNotas/Catalogo/CuentasNacionales/Indices/c121122022.htm

3Eva_2022PAOII_T3 EDO cabezal lector en disco duro

3ra Evaluación 2022-2023 PAO II. 7/febrero/2023

Tema 3. (35 puntos) El objetivo de un sistema de Disco duro es posicionar con precisión el dispositivo de lectura en la pista buscada y moverse entre una pista y otra. disco duro lectora01

Se requiere identificar el plato de disco, el sensor y el controlador.

El disco duro usa un motor DC de imán permanente para posicionar el brazo lector con el sensor en un extremo. Un resorte metálico se usa para permitir que el cabezal flote sobe el disco a una distancia menor a 100nm.

El cabezal toma lectura del flujo magnético y da una señal al amplificador.

Suponiendo que dispone del dispositivo de lectura de precisión, una aproximación del modelo de control del motor con Ka=40, se supone que el brazo es rígido con parámetros como los mostrados, el sistema se puede aproximar como un sistema de orden 2 en el dominio s o en su forma de ecuación diferencial.

Y(s)(s^2+20s+5K_a )=X(s)5K_a \frac{\delta^2}{\delta t^2 } y(t) + 20 \frac{\delta}{\delta t} y(t) + 5 K_a y(t) = x(t) 5 K_a

y(0) = 0         y’(0) = 0

x(t) = \begin{cases} 0 & t\lt 0 \\ 1 & t≥0 \end{cases}

Encuentre la respuesta del sistema y(t) ante una señal de entrada x(t), con las condiciones iniciales dadas.

a. Plantee la solución usando el método de Runge-Kutta de 2do orden.
b. Desarrolle tres iteraciones para Δt = 0.01
c. Estime el error del modelo usado
d. Realice la gráfica para y(t) para el intervalo de [0,1] segundos. Adjunte los archivos de los algoritmos.py usados para los cálculos, los resultados.txt y gráfica.png

Rúbrica:  literal a (5 puntos), literal b (15 puntos), literal c (5 puntos), literal d y adjuntos (10 puntos)

Referencia: Bishop R. & Dorf R. (2017) 13th Edition. 2.10 sequential Design example: Disk Drive read system. p122.
How do Hard Disk Drives Work? Branch Education. 22 diciembre 2022.

3Eva_2022PAOII_T2 Globo meteorológico espía distancia mas cercana

3ra Evaluación 2022-2023 PAO II. 7/febrero/2023

Tema 2. (20 puntos) Se requiere hacer el seguimiento a la trayectoria del globo aerostático del tema anterior, para descartar las sospechas de espionaje.

Area51 Simpson LisaDadas las coordenadas de un lugar considerado como de seguridad nacional p1(x,y)=[25,50] , se requiere revisar la distancia más cercana de la trayectoria y(x) del globo al punto de “interés”.

Se compararía la distancia mínima con el alcance las cámaras y sensores encontrados en los escombros del globo derribado.

Usando la trayectoria obtenida como resultado del tema anterior, se requiere:

a. Plantee el ejercicio describiendo los criterios usados, el método numérico y una tolerancia a usar.

b. Desarrolle el método para encontrar la raíz de la ecuación planteada, con al menos tres iteraciones.

c. Estime la cota de error, compare con la tolerancia descrita en el literal a.

Nota: Si el resultado del tema 1 no es satisfactorio, desarrolle el tema con y(x) = 70sin(0.1πx+0.5)

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

3Eva_2022PAOII_T1 Globo meteorológico espía derribado

3ra Evaluación 2022-2023 PAO II. 7/febrero/2023

Tema 1. (25 puntos) En enero del 2023 se detectó un globo aerostático globo aerostatico 01supuestamente espía sobre el territorio soberano de un país, que sobrevoló a 18 Km de altura en la estratosfera y que «no representaba ningún riesgo militar o físico los ciudadanos en la superficie».

Otro país vecino al mismo tiempo hacía seguimiento a otro «posible segundo incidente», se anunció en los medios de comunicación. En el primer caso se decidió no destruir el aparato por el temor de que la caída de sus escombros podría haber sido peligrosa para la superficie y no representaba el globo un peligro inmediato.

Como seguimiento al caso, se requiere describir la trayectoria del globo mediante ecuaciones a partir de las coordenadas de avistamiento reportadas por civiles.

ti    = [11, 12, 14, 15, 17, 19]
x(ti) = [15, 18, 25, 27, 31, 40]
y(ti) = [45, 55, 65, 58, 55, 40]

a. Plantear el ejercicio, describiendo los criterios, método numérico, segmentos a usar en las ecuaciones para realizar la interpolación polinómica de Lagrange.

minimizando oscilaciones del polinomio que puedan resultar en interpretaciones erradas.

b. Realizar el desarrollo analítico de las ecuaciones planteadas y presente el  polinomio simplificado.

c. Validar los resultados usando el algoritmo, adjunte los archivos.py, resultados.txt, gráfica.png

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

Referencias: Detectan un globo aerostático espía sobre territorio. Rtve.es/Agencias 03/febrero/2023. https://www.rtve.es/noticias/20230203/eeuu-detecta-globo-aerostatico-espia-china-sobre-su-territorio/2420646.shtml

Derriban globo «espía» sobre la costa del Atlántico. DW 04/febrero/2023. https://www.dw.com/es/eeuu-derriba-globo-esp%C3%ADa-chino-sobre-la-costa-del-atl%C3%A1ntico/a-64613403

EE.UU. derriba el presunto globo espía de China. CNN en Español. 4 feb 2023.

Globos chinos en América desatan preocupación mundial. DW Español
DW Español. 10 feb 2023

2Eva_2022PAOII_T3 EDP Parabólica con coseno 3/4π

2da Evaluación 2022-2023 PAO II. 24/Enero/2023

Tema 3. (35 puntos) Aproxime la solución a la siguiente ecuación diferencial parcial parabólica

\frac{\partial^2 u}{\partial x^2} = b \frac{\partial u}{\partial t}

2Eva2022PAOII_T3 EDP ParabolicaCon las siguientes condiciones de frontera:
u(0,t)=1
u(1,t)=0

Y las condiciones iniciales
u(x,0) = \cos \Big( \frac{3π}{2}x\Big)

Utilice diferencias finitas centradas para x, para t hacia adelante.

a. Plantee las ecuaciones para usar un método numérico en un nodo i,j
b. Realice la gráfica de malla,
c. desarrolle y obtenga el modelo discreto para u(xi,tj)

Suponga que b = 2, Aproxime la solución con Δx = 0.2, Δt = Δx/100.

d. Realice al menos tres iteraciones en el eje tiempo.
e. Estime el error de u(xi,tj), y presente observaciones sobre la convergencia del método.

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

Referencia: Chapra & R. Canale (2010). Métodos Numéricos para Ingenieros. Ejercicio 30.15 p904,
Solving the heat equation | DE3. 3Blue1Brown 16 Junio 2019.

 

s2Eva_2022PAOII_T3 EDP Parabólica con coseno 3/4π

Ejercicio: 2Eva_2022PAOII_T3 EDP Parabólica con coseno 3/4π

\frac{\partial^2 u}{\partial x^2} = b \frac{\partial u}{\partial t}

2Eva_2022PAOII_T3 EDP Parabolica Malla

\frac{u_{i+1,j}-2u_{i,j}+u_{i-1,j}}{(\Delta x)^2} = b\frac{u_{i,j+1}-u_{i,j}}{\Delta t}

agrupando variables

\frac{\Delta t}{b} \frac{u_{i+1,j}-2u_{i,j}+u_{i-1,j}}{(\Delta x)^2} = \frac{\Delta t}{b}b\frac{u_{i,j+1}-u_{i,j}}{\Delta t} λ = \frac{\Delta t}{b(\Delta x)^2} λ = \frac{0.002}{2(0.2)^2} =0.025

como λ<0.5 el método converge.

\lambda \Big[u[i+1,j]-2u[i,j]+u[i-1,j]\Big] = u[i,j+1]-u[i,j]

por el método explícito:

u[i,j+1] =\lambda \Big[u[i+1,j]-2u[i,j]+u[i-1,j]\Big] + u[i,j] u[i,j+1] =\lambda u[i+1,j]+(1-2\lambda)u[i,j]+\lambda u[i-1,j]

iteración i=1, j=0

u[1,1] =\lambda u[0,0]+(1-2\lambda)u[1,0]+\lambda u[2,0] u[1,1] =0.025(1) +(1-2(0.025))\cos \Big( \frac{3π}{2}0.2\Big)+0.025 \cos \Big( \frac{3π}{2}0.4\Big)

iteración i=2, j=0

u[2,1] =\lambda u[1,0]+(1-2\lambda)u[2,0]+\lambda u[3,0] u[2,1] =0.025\cos \Big( \frac{3π}{2}0.2\Big) +(1-2(0.025))\cos \Big( \frac{3π}{2}0.4\Big) +0.025 \cos \Big( \frac{3π}{2}0.6\Big)

iteración i=3, j=0

u[3,1] =\lambda u[2,0]+(1-2\lambda)u[3,0]+\lambda u[4,0] u[3,1] =0.025\cos \Big( \frac{3π}{2}0.4\Big) +(1-2(0.025))\cos \Big( \frac{3π}{2}0.6\Big) +0.025 \cos \Big( \frac{3π}{2}0.8\Big)

iteración i=4, j=0

u[4,1] =\lambda u[3,0]+(1-2\lambda)u[4,0]+\lambda u[5,0] u[4,1] =0.025\cos \Big( \frac{3π}{2}0.6\Big) +(1-2(0.025))\cos \Big( \frac{3π}{2}0.8\Big) +0.025 (0)

continuar con las iteraciones en el algoritmo

Resultados con el algoritmo

Tabla de resultados
[[ 1.    1.    1.    1.    1.    1.    1.    1.    1.    1.  ]
 [ 0.59  0.58  0.56  0.55  0.54  0.53  0.53  0.52  0.51  0.5 ]
 [-0.31 -0.3  -0.3  -0.29 -0.28 -0.28 -0.27 -0.27 -0.26 -0.26]
 [-0.95 -0.93 -0.91 -0.89 -0.88 -0.86 -0.84 -0.82 -0.81 -0.79]
 [-0.81 -0.79 -0.78 -0.76 -0.74 -0.73 -0.71 -0.7  -0.68 -0.67]
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]]

2Eva2022PAOII_T3 EDP Parabolica 02

Instrucciones en Python

# EDP parabólicas d2u/dx2  = K du/dt
# método explícito,usando diferencias divididas
import numpy as np
import matplotlib.pyplot as plt

# INGRESO
# Valores de frontera
Ta = 1
Tb = 0
#T0 = 25
fx = lambda x: np.cos(3*np.pi/2*x)
# longitud en x
a = 0
b = 1
# Constante K
K = 2
# Tamaño de paso
dx = 0.2
dt = dx/100
# iteraciones en tiempo
n = 10

# PROCEDIMIENTO
# iteraciones en longitud
xi = np.arange(a,b+dx,dx)
fi = fx(xi)
m = len(xi)
ultimox = m-1

# Resultados en tabla u[x,t]
u = np.zeros(shape=(m,n), dtype=float)

# valores iniciales de u[:,j]
j=0
ultimot = n-1
u[0,:]= Ta
u[1:ultimox,j] = fi[1:ultimox]
u[ultimox,:] = Tb

# factores P,Q,R
lamb = dt/(K*dx**2)
P = lamb
Q = 1 - 2*lamb
R = lamb

# Calcula U para cada tiempo + dt
j = 0
while not(j>=ultimot): # igual con lazo for
    for i in range(1,ultimox,1):
        u[i,j+1] = P*u[i-1,j] + Q*u[i,j] + R*u[i+1,j]
    j=j+1

# SALIDA
print('Tabla de resultados')
np.set_printoptions(precision=2)
print(u)

# Gráfica
salto = int(n/10)
if (salto == 0):
    salto = 1
for j in range(0,n,salto):
    vector = u[:,j]
    plt.plot(xi,vector)
    plt.plot(xi,vector, '.r')
    
plt.xlabel('x[i]')
plt.ylabel('t[j]')
plt.title('Solución EDP parabólica')
plt.show()

2Eva_2022PAOII_T2 EDO – población de protestantes en una sociedad

2da Evaluación 2022-2023 PAO II. 24/Enero/2023

Tema 1. (35 puntos) protestantismoEn el libro titulado “Looking at History Through Mathematics”, Rashevsky propone un modelo que se puede relacionar con el “protestantismo” en el siglo XVI como una reacción y denuncia de abusos impuestos sobre la sociedad de la época.

En un modelo de Rashevsky modificado con la ecuación logística de Verhulst, la población x(t) de individuos en la sociedad para cada año t, con tasas de natalidad b=0.02 y mortalidad d=0.015, cambia según la ecuación:

\frac{\delta}{\delta t}x(t) = b x(t) - d (x(t))^2 x(0)=1

La cantidad de individuos “protestantes” y(t) en la población se incrementa según la ecuación diferencial compuesta de dos términos.

\frac{\delta}{\delta t}y(t) = b y(t) - d (y(t))^2 +r b (x(t)-y(t)) y(0)=0.01

El primer término supone que todas familias de padre y madre “protestantes” tienen hijos que también se identifican como tales.

El segundo término supone que una porción r = 0.1 de jóvenes descendientes de los “conformistas” al meditar sobre la situación actual, los hechos y los argumentos de protesta se convierten a “protestantes”.

a.       Realice el planteamiento del ejercicio usando Runge-Kutta de 2do Orden

b.       Desarrolle tres iteraciones para x(t), y(t) con tamaño de paso h=0.5.

c.       Usando el algoritmo, aproxime la solución entre t=0 a t=200 años, adjunte sus resultados en la evaluación.

d.       Realice una observación sobre el crecimiento de población y(t) a lo largo del tiempo.

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

Referencia: Burden 5.2 Ejercicio 17 p276, Rashevsky, MIT 1968. pp102-110, Protestantismo https://es.wikipedia.org/wiki/Protestantismo. 3Eva_IIT2014_T2 Crecimiento demográfico. http://blog.espol.edu.ec/analisisnumerico/3eva_iit2014_t2-crecimiento-demografico/

La Reforma protestante y Lutero. Academia Play. 27 agosto 2019