3Eva_2023PAOII_T1 Intersección con círculo

3ra Evaluación 2023-2024 PAO II. 15/Febrero/2024

Tema 1 (30 puntos) Encuentre las raíces de las ecuaciones simultaneas siguientes:

2y+1.75 x= 35.25 (y-7.6)^2 + (x-8.6)^2 = (6.7)^2

a. Use el enfoque gráfico para obtener los valores iniciales. Presente la gráfica realizada con Python.
b. Encuentre un intervalo apropiado para aproximar este valor mediante el método de Newton-Raphson
c. Realice al menos 3 iteraciones de forma analítica, usando tolerancia de 10-4
d. Realice el análisis de la convergencia del método.
Adjunte los archivos realizados como algoritmos.py, resultados.txt y gráficas.png

Rúbrica: literal a (5 puntos), literal b (5 puntos), iteraciones(9 puntos), errores entre iteraciones (6 puntos), análisis de convergencia (5 puntos).

s3Eva_2023PAOII_T1 Intersección con círculo

Ejercicio: 3Eva_2023PAOII_T1 Intersección con círculo
Encuentre las raíces de las ecuaciones simultaneas siguientes:

literal a y b

Use el enfoque gráfico para obtener los valores iniciales.

2y+1.75 x = 35.25 (y-7.6)^2 + (x-8.6)^2 = (6.7)^2

se despeja la variable dependiente de cada ecuación, para la primera:

f(x) = y = \frac{35.25}{2} - \frac{1.75}{2} x

para la segunda:

(y-7.6)^2 = (6.7)^2 - (x-8.6)^2 g(x) = y = \sqrt{(6.7)^2 - (x-8.6)^2} + 7.6

Al buscar la intersección entre f(x) y g(x) se puede encontrar con la raiz de:

distancia(x) = f(x) - g(x) distancia(x) = \Big( \frac{35.25}{2} - \frac{1.75}{2} x\Big) - \Big(\sqrt{(6.7)^2 - (x-8.6)^2} + 7.6\Big)

La primera ecuación es una recta, por lo que no aporta a las cotas de la gráfica.

La segunda ecuación es la general de un círculo centrado en (7.6, 8.6) y radio 6.7, por lo que se considera el intervalo para la gráfica entre:

[7.6 -6.7, 7.6+6.7] [0.9, 14.3]

Con lo que se puede formar la gráfica de la parte superior del círculo en Python:

interseccion con circulo

Instrucciones en Python

# 3Eva_2023PAOII_T1 Intersección con círculo
import numpy as np
import matplotlib.pyplot as plt

# INGRESO
f = lambda x: -(1.75/2)*x + (35.25/2)
g = lambda x: np.sqrt(6.7**2-(x-8.6)**2) + 7.6
distancia = lambda x: f(x)- g(x)

a = 0.5
b = 16
muestras = 21

# PROCEDIMIENTO
# literal a y b
xi = np.linspace(a,b,muestras)
fi = f(xi)
gi = g(xi)
dist_i = distancia(xi)

# SALIDA - Grafica
# literal a y b
plt.plot(xi,fi, label='f(x)')
plt.plot(xi,gi, label='g(x)')
plt.plot(xi,dist_i, label='f(x)-g(x)')
plt.axhline(0, color='black', linestyle='dashed')
plt.axvline(5, color='red', linestyle='dashed')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid()
plt.show()

literal c

Un punto inicial de búsqueda dentro del intervalo puede ser x0=3.

Para Newton-Raphson se usa:

f(x) = \Big( \frac{35.25}{2} - \frac{1.75}{2} x\Big) - \Big(\sqrt{(6.7)^2 - (x-8.6)^2} + 7.6\Big) \frac{d}{dx}f(x) = -\frac{8.6(0.1162-0.0135x)}{\sqrt{0.0609-(0.1162x-1)^2}}-0.875

(derivada obtenida con sympy)

itera = 0 ; xi = 3

f(3) = \Big( \frac{35.25}{2} - \frac{1.75}{2} (3)\Big) - \Big(\sqrt{(6.7)^2 - ((3)-8.6)^2} + 7.6\Big) \frac{d}{dx}f(3) = -\frac{8.6(0.1162-0.0135(3))}{\sqrt{0.0609-(0.1162(3)-1)^2}}-0.875 x_1 = x_0 - \frac{f(3)}{\frac{d}{dx}f(3)} = 4.55 tramo = |4.55-3| = 1.55

itera = 1 ; xi = 4.55

f(3) = \Big( \frac{35.25}{2} - \frac{1.75}{2} (4.55)\Big) - \Big(\sqrt{(6.7)^2 - ((4.55)-8.6)^2} + 7.6\Big) \frac{d}{dx}f(3) = -\frac{8.6(0.1162-0.0135(4.55))}{\sqrt{0.0609-(0.1162(4.55)-1)^2}}-0.875 x_2 = x_1 - \frac{f(4.55)}{\frac{d}{dx}f(4.55)} = 4.98 tramo = |4.98-4.55| = 0.43

itera = 2 ; xi = 4.98

f(3) = \Big( \frac{35.25}{2} - \frac{1.75}{2} (4.98)\Big) - \Big(\sqrt{(6.7)^2 - ((4.98)-8.6)^2} + 7.6\Big) \frac{d}{dx}f(3) = -\frac{8.6(0.1162-0.0135(4.98))}{\sqrt{0.0609-(0.1162(4.98)-1)^2}}-0.875 x_3 = x_2 - \frac{f(4.98)}{\frac{d}{dx}f(4.98)} = 4.99 tramo = |4.99-4.98| = 0.01

literal d

El error disminuye en cada iteración, por lo que el método converge.

Con el algoritmo se muestra que converge a x=5

dfg(x) = 
     8.6*(0.116279069767442 - 0.0135208220659816*x)          
- --------------------------------------------------- - 0.875
     ________________________________________________        
    /                                              2         
  \/  0.606949702541915 - (0.116279069767442*x - 1)          

['xi', 'xnuevo', 'tramo']
[[3.0000e+00 4.5524e+00 1.5524e+00]
 [4.5524e+00 4.9825e+00 4.3018e-01]
 [4.9825e+00 4.9995e+00 1.6999e-02]
 [4.9995e+00 4.9996e+00 2.3865e-05]]
raiz en:  4.9995611025201585
con error de:  2.3865455016647275e-05

Instrucciones en Python

# 3Eva_2023PAOII_T1 Intersección con círculo
import sympy as sym
import numpy as np
import matplotlib.pyplot as plt

# INGRESO
# forma algebraica con sympy
x = sym.Symbol('x')
f = -(1.75/2)*x + (35.25/2)
g = sym.sqrt(6.7**2-(x-8.6)**2) + 7.6
distancia = f - g

x0 = 3
tolera = 0.0001 # 1e-4

# PROCEDIMIENTO
# literal c
dfg = sym.diff(distancia,x)
# convierte a forma numerica con numpy
# Newton-Raphson
fx = sym.lambdify(x,distancia)
dfx = sym.lambdify(x,dfg)

tabla = []
tramo = abs(2*tolera)
xi = x0
while (tramo>=tolera):
    xnuevo = xi - fx(xi)/dfx(xi)
    tramo  = abs(xnuevo-xi)
    tabla.append([xi,xnuevo,tramo])
    xi = xnuevo

# convierte la lista a un arreglo.
tabla = np.array(tabla)
n = len(tabla)

# SALIDA
print('dfg(x) = ')
sym.pprint(dfg)
print()
print(['xi', 'xnuevo', 'tramo'])
np.set_printoptions(precision = 4)
print(tabla)
print('raiz en: ', xi)
print('con error de: ',tramo)

2Eva_2023PAOII_T3 EDP desarrolle expresión

2ra Evaluación 2023-2024 PAO II. 30/Enero/2024

Tema 3 (30 puntos) Para la siguiente Ecuación Diferencial Parcial con b = 2, resuelva usando las condiciones mostradas

\frac{\partial ^2 u}{\partial x^2} + b\frac{\partial u}{\partial x} = \frac{\partial u}{\partial dt}
0 < x < 1

0 < t < 0.5

Condiciones de frontera:
u(0,t)=0, u(1,t)= 1, 0≤t≤0.5
Condiciones iniciales:
u(x,0)=0, 0≤x≤1

Utilice diferencias finitas centradas y hacia adelante para las variables independientes x,t

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)

d. Realice al menos tres iteraciones en el eje tiempo.

e. Estime el error de u(xi,tj) y adjunte los archivos del algoritmo y resultados.

f. Con el algoritmo, estime la solución para b = 0 y b=-4. Realice las observaciones de resultados para cada caso.

Rúbrica: Aproximación de las derivadas parciales (5 puntos), construcción de la malla (5), desarrollo de iteraciones (10), literal e (10 puntos), literal f (5 puntos extra)

Referencia: EDP Parabólicas. Chapra & Canale. 5ta Ed. Ejercicio 30.15. P.904

s2Eva_2023PAOII_T2 Cable cuelga entre apoyos A y B

Ejercicio: 2Eva_2023PAOII_T2 Cable cuelga entre apoyos A y B

Literal a

La ecuación diferencial a resolver es:

\frac{d^2y}{dx^2} = \frac{w_0}{T_0} \Big[ 1+ \sin \Big(\frac{\pi x}{2l_B} \Big) \Big]

donde w0 = 1 000 lbs/ft, T0. = 0.588345×106.
dy(0)/dx = 0 y lB=200 de la gráfica presentada.

\frac{d^2y}{dx^2} = \frac{1000}{0.588345×10^6} \Big[ 1+ \sin \Big(\frac{\pi x}{2(200)} \Big) \Big]

Para usar Runge Kutta para segunda derivada:

z= y' = f(x,y,z) z' = (y')' = 0z + \frac{1000}{0.588345×10^6} \Big[ 1+ \sin \Big(\frac{\pi x}{2(200)} \Big) \Big] g(x,y,z) = \frac{1}{0.588345×10^3} \Big[ 1+ \sin \Big(\frac{\pi x}{2(200)} \Big) \Big]

los valores iniciales para el ejercicio acorde al enunciado son: x0 = 0, y0=0, z0 = 0, con h=0.5

literal b

para itera 0

K1y = h*z = 0.5*0 = 0 K1z = (0.5)\frac{1}{0.588345×10^3} \Big[ 1+ \sin \Big(\frac{\pi (0)}{2(200)} \Big) \Big] = 0.0008498 K2y = h*(z+K1z) = (0.5) (0+0.00084984) = 0.0004249 K2z = (0.5)\frac{1}{0.588345×10^3} \Big[ 1+ \sin \Big(\frac{\pi (0+0.5)}{2(200)} \Big) \Big] =0.0008531 y = 0+\frac{0+0.0004249}{2} = 0.0002124 z = 0+\frac{0.0008498+0.0008531}{2} = 0.0008515 x = 0 + 0.5 = 0.5

Desarrollar dos iteraciones adicionales como tarea.

Para las primeras iteraciones de un total de 400+1, los valores con Python y en resultados.txt :

estimado[xi,yi,zi,K1y,K2y,K1z,K2z]
[0.0000 0.0000e+00 0.0000e+00 
0.0000e+00 0.0000e+00 
0.0000e+00 0.0000e+00]

[0.5000 2.124603761398499073e-04 8.515101601627471980e-04 
0.000000000000000000e+00 4.249207522796998146e-04 
8.498415045593996292e-04 8.531788157660947667e-04]

[1.0000 8.515101601627470896e-04 1.706357605799455881e-03 
4.257550800813735990e-04 8.523444879644209281e-04 
8.531788157660947667e-04 8.565160755073224913e-04]

[1.5000 1.918817981939305653e-03 2.564542259712321911e-03 
8.531788028997279406e-04 1.281436840653389295e-03 
8.565160755073224913e-04 8.598532323184093513e-04]

[2.0000 3.416052419875068892e-03 3.426063993239661116e-03 
1.282271129856160955e-03 1.712197746015365740e-03 
8.598532323184093513e-04 8.631902347362692754e-04]
...

literal c

resultado en archivo.txt al ejecutar el algoritmo.

literal d

cable entre apoyos A y B

Algoritmo con Python

# 2Eva_2023PAOII_T2 Cable cuelga entre apoyos A y B
import numpy as np

def rungekutta2_fg(f,g,x0,y0,z0,h,muestras):
    tamano = muestras + 1
    estimado = np.zeros(shape=(tamano,3+4),dtype=float)

    # incluye el punto [x0,y0,z0]
    estimado[0] = [x0,y0,z0,0,0,0,0]
    xi = x0
    yi = y0
    zi = z0
    for i in range(1,tamano,1):
        K1y = h * f(xi,yi,zi)
        K1z = h * g(xi,yi,zi)
        
        K2y = h * f(xi+h, yi + K1y, zi + K1z)
        K2z = h * g(xi+h, yi + K1y, zi + K1z)

        yi = yi + (K1y+K2y)/2
        zi = zi + (K1z+K2z)/2
        xi = xi + h
        
        estimado[i] = [xi,yi,zi,K1y,K2y,K1z,K2z]
    return(estimado)

# PROGRAMA PRUEBA
# Ref Rodriguez 9.1.1 p335 ejemplo.
# prueba y'-y-x+(x**2)-1 =0, y(0)=1

# INGRESO
T0 = 0.588345e6
LB = 200
f = lambda x,y,z: z
g = lambda x,y,z: (1000/T0)*(1+np.sin(np.pi*x/(2*LB)))
x0 = 0
y0 = 0
z0 = 0
h  = 0.5
muestras = 401

# PROCEDIMIENTO
puntosRK2 = rungekutta2_fg(f,g,x0,y0,z0,h,muestras)
xi = puntosRK2[:,0]
yiRK2 = puntosRK2[:,1]

# SALIDA
np.set_printoptions(precision=4)
print('estimado[xi,yi,zi,K1y,K2y,K1z,K2z]')
print(puntosRK2)
np.savetxt("tablaRk2.txt",puntosRK2)


# Gráfica
import matplotlib.pyplot as plt

plt.plot(xi[0],yiRK2[0],
         'o',color='r', label ='[x0,y0]')
plt.plot(xi[1:],yiRK2[1:],
         color='m',
         label ='y Runge-Kutta 2 Orden')

plt.title('EDO: Solución con Runge-Kutta 2do Orden')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid()
plt.show()

 

2Eva_2023PAOII_T2 Cable cuelga entre apoyos A y B

2ra Evaluación 2023-2024 PAO II. 30/Enero/2024

Tema 2 (40 puntos) Un cable cuelga de dos apoyos en A y B. cable colgante entre apoyos

El cable sostiene una carga distribuida cuya magnitud varía con x según la ecuación

w = w_0 \Big[ 1+ \sin \Big(\frac{\pi x}{2l_B} \Big) \Big]

donde w0 = 1 000 lbs/ft y T0. = 0.588345×106.
La pendiente del cable (dy/dx) = 0 en x = 0, que es el punto más bajo del cable.

También es el punto donde la tensión del cable alcanza un mínimo de T0. La ecuación diferencial que gobierna el cable es

\frac{d^2y}{dx^2} = \frac{w_0}{T_0} \Big[ 1+ \sin \Big(\frac{\pi x}{2l_B} \Big) \Big]

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

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

c. Usando el algoritmo, aproxime la solución para x en el intervalo entre [0,200], adjunte sus resultados.txt en la evaluación.

d. Realice sus observaciones sobre los resultados obtenidos sobre la altura y(200) alcanzada en el extremo derecho del cable y lo indicado en la gráfica del enunciado.

Rúbrica: literal a (5 puntos), literal b (15 puntos), literal c resultados.txt (10 puntos), grafica.png (5 puntos), literal d (5 puntos),

Referencia: Cable entre dos apoyos con carga distribuida. Chapra & Canale. 5ta Ed. Ejercicio 28.21. P849

s2Eva_2023PAOII_T1 Volumen por solido de revolución

Ejercicio: 2Eva_2023PAOII_T1 Volumen por solido de revolución

El volumen se calcula a partir de la expresión:

V = \int_{a}^{b} \pi (f(x))^2 dx

literal a y c

Para el volumen con f(x) con al menos 3 tramos y un método de Simpson, directamente se puede usar 3/8. Por lo que se Se reemplaza en la fórmula de volumen del sólido de revolución f(x) con:

f(x) = \sqrt{\sin (x/2)}

obteniendo:

V_{fx} = \int_{a}^{b} \pi \Big(\sqrt{\sin (x/2)} \Big)^2 dx = \int_{a}^{b} \pi \sin (x/2) dx

La expresión dentro del integral se denomina como fv:

f_v (x)= \pi \sin (x/2)

en el intervalo [0.1, 1.8],  con al menos 3 tramos, se requieren 4 muestras con tamaño de paso hf: y truncando a 4 decimales los resultados calculados con Python.

h_f =\frac{b-a}{tramos} = \frac{1.8-0.1}{3} = 0.5666

los puntos de muestra quedan np.linspace(0.1,1.8,3+1):

xis= [0.1, 0.6666, 1.2333, 1.8 ]

El integral se calcula con los puntos de muestra,

V_{fx} = \frac{3}{8} (0.5666) \Big( f_v(0.1) +3 f_v(0.6666) + + 3 f_v(1.2333)+ f_v(1.8)\Big)

recordando que se usa en radianes,

V_{fx} = \frac{3}{8} (0.5666) \Bigg( \pi \sin \Big(\frac{0.1}{2}\Big) +3 \pi \sin \Big(\frac{0.6666}{2}\Big) + + 3 \pi \sin\Big(\frac{1.2333}{2}\Big)+ \pi \sin \Big(\frac{1.8}{2}\Big)\Bigg) = \frac{3}{8} (0.5666) \Big( 0.1570+3 (1.0279) + + 3 (1.8168)+ 2.4608\Big)

literal d. el volumen generado por f(x) tiene como resultado:

V_{fx} = 2.3698

la cota de error para fx es el orden de O(h5) = O(0.56665) = O(0.05843), queda como tarea completar la cota de error total.

literal b y c

Para el volumen con g(x) con al menos 2 tramos y Cuadratura de Gauss de dos puntos, se reemplaza en la fórmula de volumen de sólido de revolución:

g(x) = e^{x/3} - 1 V_{gx} = \int_{a}^{b} \pi (e^{x/3} - 1)^2 dx

La expresión dentro del integral se denomina como gv:

g_v = \pi (e^{x/3} - 1)^2

en el intervalo [0.1, 1.8],  con al menos 2 tramos, se requieren 3 muestras con tamaño de paso hg:

h_g =\frac{b-a}{tramos} = \frac{1.8-0.1}{2} = 0.85

xic = [0.1, 0.95, 1.8 ]

tramo 1: [0.1, 0.95] , a = 0.1 , b= 0.95, truncando a 4 decimales

x_a = \frac{0.95+0.1}{2} - \frac{0.95-0.1}{2}\frac{1}{\sqrt{3}} = 0.2796 x_b = \frac{0.95+0.1}{2} + \frac{0.95-0.1}{2}\frac{1}{\sqrt{3}} = 0.7703 g_v(0.2796) = \pi (e^{0.2796/3} - 1)^2 = 0.02998 g_v(0.7703) = \pi (e^{0.7703/3} - 1)^2 = 0.2692 V_{c1} = \frac{0.95-0.1}{2}(g_v(0.2796) + g_v(0.7703)) V_{c1} = \frac{0.95-0.1}{2}(0.02998 + 0.2692) V_{c1} = 0.1271

tramo 2: [0.95, 1.8] , a = 0.95 , b= 1.8

x_a = \frac{1.8+0.95}{2} - \frac{1.8-0.95}{2}\frac{1}{\sqrt{3}} = 1.1296 x_b = \frac{1.8+0.95}{2} - \frac{1.8-0.95}{2}\frac{1}{\sqrt{3}} = 1.6203 g_v(1.1296) = \pi (e^{1.1296/3} - 1)^2 = 0.6567 g_v(1.6203) = \pi (e^{1.6203/3} - 1)^2 = 1.6115 V_{c2} = \frac{1.8-0.95}{2}(g_v(1.1296) + g_v(1.6203)) V_{c2} = \frac{1.8-0.95}{2}(0.6567 + 1.6115) V_{c2} = 0.9640

literal d. volumen generado por g(x)

V_{gx} = V_{c1} + V_{c2} = 0.1271 + 0.9640 = 1.0912

completar la cota de error para cuadratura de Gauss de dos puntos.

literal e. El volumen de revolución se genera como la resta del volumen de f(x) y volumen g(x)

V = V_{fx} - V_{gx} = 2.3698 - 1.0912 = 1.2785

Algoritmo con Python

Los resultados usando el algoritmo con las operaciones usadas en el planteamiento son:

para f(x):
xis= [0.1        0.66666667 1.23333333 1.8       ]
fiv= [0.15701419 1.02791246 1.81684275 2.46089406]
Volumenfx:  2.369836948864926

para g(x):
Por tramos: [0.1  0.95 1.8 ]
xab= [0.2796261355944091, 0.770373864405591,
      1.129626135594409, 1.620373864405591]
gab= [0.02998177327492598, 0.26928904479784566,
      0.6567986343358181, 1.6115494735531555]
Vc1= 0.12719009768092793  ; Vc2= 0.964047945852814
Volumengx:  1.0912380435337419

Volumen solido revolucion: 1.2785989053311841

Considerando realizar los cálculos para cada sección:

# 2Eva_2023PAOII_T1 Volumen por solido de revolución
import numpy as np

# INGRESO
fx = lambda x: np.sqrt(np.sin(x/2))
gx = lambda x: np.exp(x/3)-1
a = 0.1
b = 1.8
tramosSimpson = 3
tramosCGauss = 2

# PROCEDIMIENTO
# Volumen para f(x) con Simpson
fv = lambda x: np.pi*np.sin(x/2)
hs = (b-a)/tramosSimpson
xis = np.linspace(a,b,tramosSimpson +1)
fiv = fv(xis)
Vs = (3/8)*hs*(fiv[0]+3*fiv[1]+3*fiv[2]+ fiv[3])

# Volumen para g(x) con Cuadratura de Gauss
gv = lambda x: np.pi*(np.exp(x/3)-1)**2
hc = (b-a)/tramosSimpson
xic = np.linspace(a,b,tramosCGauss +1)
# tramo 1
ac = xic[0]
bc = xic[1]
xa = (bc+ac)/2 + (bc-ac)/2*(-1/np.sqrt(3)) 
xb = (bc+ac)/2 + (bc-ac)/2*(1/np.sqrt(3))
Vc1 = (bc-ac)/2*(gv(xa)+gv(xb))
xab = [xa,xb]
gab = [gv(xa),gv(xb)]
# tramo 2
ac = xic[1]
bc = xic[2]
xa = (bc+ac)/2 + (bc-ac)/2*(-1/np.sqrt(3)) 
xb = (bc+ac)/2 + (bc-ac)/2*(1/np.sqrt(3))
Vc2 = (bc-ac)/2*(gv(xa)+gv(xb))
Vc = Vc1+Vc2
xab.append(xa)
xab.append(xb)
gab.append(gv(xa))
gab.append(gv(xb))

# Volumen solido revolucion
Volumen = Vs - Vc

# SALIDA
print("para f(x):")
print("xis=", xis)
print("fiv=", fiv)
print("Volumenfx: ",Vs)
print()
print("para g(x):")
print("Por tramos:",xic)
print("xab=", xab)
print("gab=", gab)
print("Vc1=",Vc1," ; Vc2=",Vc2) 
print("Volumengx: ",Vc)
print()
print("Volumen solido revolucion:",Volumen)

para la gráfica presentada en el enunciado (no requerida) , se complementa con las instrucciones:

# para grafica -------------------
import matplotlib.pyplot as plt
muestras = 21 # grafica
xi = np.linspace(a,b,muestras)
fi = fx(xi)
gi = gx(xi)
xig = np.linspace(a,b,tramosCGauss+1)
fis = fx(xis)
gig = gx(xig)

# grafica
plt.plot(xi,fi, label="f(x)")
plt.plot(xi,gi, label="g(x)")
plt.plot([0.0,2.0],[0,0], marker=".", color="blue")
plt.fill_between(xi,fi,gi,color="lightgreen")
plt.axhline(0)
plt.axvline(a, linestyle="dashed")
plt.axvline(b, linestyle="dashed")
plt.xlabel('x')
plt.ylabel('f(x), g(x)')
plt.legend()
plt.plot(xis,fis,'.b')
plt.plot(xig,gig,'.r')
plt.grid()
plt.show()

Gráfica de sólido de revolución en 3D

sólido de revolución 3D

Instrucciones en Python

# 2Eva_2023PAOII_T1 Volumen por solido de revolución
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d

# INGRESO
f = lambda x: np.sqrt(np.sin(x/2))
g = lambda x: np.exp(x/3)-1

# eje x
xa = 0.1
xb = 1.8
xmuestras = 31
# angulo w de rotación
w_a = 0
w_b = 2*np.pi
w_muestras = 31

# PROCEDIMIENTO
# muestreo en x y angulo w
xi = np.linspace(xa, xb, xmuestras)
wi = np.linspace(w_a, w_b, w_muestras)
X, W = np.meshgrid(xi, wi)

# evalua f(x) en 3D
Yf = f(xi)*np.cos(W)
Zf = f(xi)*np.sin(W)

# evalua g(x) en 3D
Yg = g(xi)*np.cos(W)
Zg = g(xi)*np.sin(W)

# SALIDA

# grafica 3D
figura = plt.figure()
grafica = figura.add_subplot(111, projection='3d')

grafica.plot_surface(X, Yf, Zf,
                     color='blue', label='f(x)',
                     alpha=0.3, rstride=6, cstride=12)
grafica.plot_surface(X, Yg, Zg,
                     color='orange', label='g(x)',
                     alpha=0.3, rstride=6, cstride=12)

grafica.set_title('Solidos de revolución')
grafica.set_xlabel('x')
grafica.set_ylabel('y')
grafica.set_zlabel('z')
# grafica.legend()
eleva = 45
rota = 45
deltaw = 5
grafica.view_init(eleva, rota)

# rotacion de ejes
for angulo in range(rota, 360+rota, deltaw ):
    grafica.view_init(eleva, angulo)
    plt.draw()
    plt.pause(.001)
plt.show()

2Eva_2023PAOII_T1 Volumen por solido de revolución

2ra Evaluación 2023-2024 PAO II. 30/Enero/2024

Tema 1 (30 puntos) Los sólidos de revolución se generan al girar una región plana alrededor de un eje. solido de revolucion 1

V = \int_{a}^{b} \pi (f(x))^2 dx

El volumen generado al girar la región de la función f(x) en el intervalo [a,b], se puede calcular como el volumen del disco de radio f(x) y anchura dx.

f(x) = \sqrt{\sin (x/2)} g(x) = e^{x/3} - 1

Calcule el volumen de revolución generado por la región sombreada de la gráfica que ese encuentra entre: f(x) y g(x).
Las funciones se usan en el intervalo [0.1 , 1.8]:

Realice el planteamiento de las ecuaciones para el ejercicio, considerando que

a. Para el integral con f(x), use formulas de Simpson con al menos 3 tramos, mientras que

b. Para el integral con g(x) use Cuadratura de Gauss de dos puntos con al menos 2 tramos.

c. Desarrolle las expresiones completas del ejercicio para cada función.

d. Indique el resultado obtenido para el área requerida y la cota de error.

e. Determine el volumen de revolución generado por la región sombreada

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

Referencia:  [1] Volúmenes de sólidos de revolución. Moisés Villena Muñoz.Capítulo 4 p78. https://www.dspace.espol.edu.ec/bitstream/123456789/4800/4/7417.pdf
[2] 8.2.2 Gráficas en 3D en Python, sólidos de revolución. http://blog.espol.edu.ec/ccpg1001/graficas-en-3d-en-python-sistema-de-ecuaciones-y-planos/
[3] Volumes: Washer Method Animation 2. Stacey Roshan. 24 Abril 2016.

1Eva_2023PAOII_T3 aceleración en avión de acrobacias

1ra Evaluación 2023-2024 PAO II. 21/Noviembre/2023

Tema 3. (30 puntos) Por medio del acelerómetro o sensor de fuerzas g de un avión se acrobacias se obtienen datos cada 5 segundos.

t 0 5 10 15 20 25 30 35 40 45 50
Aceleración (G) 1 1.2 1.3 2.5 4.5 3.2 1.4 0.0 -0.9 -1.0 0.2

acrobacias avion 01Para un estudio detallados de la acrobacia realizada se requiere disponer de datos cada segundo
usando interpolación polinómica con el método de Lagrange.

a. Plantear el ejercicio describiendo los criterios a usar para el o los polinomios para el eje y.

b. Desarrolle el método sobre los puntos seleccionados con las expresiones completas desarrolladas con el algoritmo.

c. Presentar el polinomio resultante y la gráfica usando la resolución requerida para el estudio.

d. Encuentre el error obtenido entre el polinomio y el o los puntos de prueba de los datos no usados para generar el polinomio.

e. Adjunte los archivos: algoritmos.py, resultados.txt y gráfica.png del polinomio.

t = [0,5,10,15,20,25,30,35,40,45,50]
G = [1,1.2,1.3,2.5,4.5,3.2,1.4,0.0,-0.9,-1.0,0.2]

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

Referencias: [1] VUELO ACROBÁTICO. TDP Club. RTVE. 30 enero 2020

[2] High intensity aerobatic flying with C.J. Wilson and Kirby Chambliss. Red Bull. 6 mar 2014.

1Eva_2023PAOII_T2 Trayectoria de buque en puerto

1ra Evaluación 2023-2024 PAO II. 21/Noviembre/2023

Tema 2. (40 puntos) El DPS (Dynamic Positioning System) controla automáticamente la posición y el rumbo de un barco usando propulsión activa mediante un ordenador y una variedad de sistemas y funciones.

trayectoria buque 01En el caso de entradas a puertos comerciales de alto tráfico y limitado espacio se convierten el una herramienta indispensable para gestionar las recorridos de ingreso o salida.

Suponga que como primer paso para planificar una ruta de un barco de contenedores, minimizando el gasto de energía usando la inercia del barco se planifica una ruta siguiendo los puntos de marca indicados en la tabla.

Puntos referenciales para la ruta
x 0.1 2.0 4.0 5.0 7.0
y 1.0 8.0 0.0 -1.0 3.0

a. Plantee el ejercicio usando un polinomio de interpolación y un sistema de ecuaciones.

b. Establezca la forma matricial del sistema de ecuaciones (Vandermonde) y como matriz aumentada

c. De ser necesario realice el pivoteo parcial por filas

d. Use el método directo Gauss, desarrolle todas las expresiones de las operaciones que realiza el algoritmo numérico. Estime la tolerancia y justifique.

e. Comente sobre la convergencia del método si usara un método iterativo. (número de condición)

f. Adjunte los archivos: algoritmos.py, resultados.txt y gráfica.png del polinomio.

x = [0.1,2.0,4.0,5.0,7.0]
y = [1.0,8.0,0.0,-1.0,3.0]

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

Referencia: [1] Gigante buque ingresa a las terminales portuarias de Guayaquil. El Universo. 18 Ene 2020. https://youtu.be/X5S9x53Z_mY?
[2] Reportan congestión de buques de carga en puertos de EE.UU. Noticias Telemundo. 22 sept 2021.

[3] Colisiones y errores de barcos jamás capturados en cámara. 21 oct 2023.

 

1Eva_2023PAOII_T1 GPR Radar penetrante de suelo

1ra Evaluación 2023-2024 PAO II. 21/Noviembre/2023

Tema 1. (30 puntos) Radar penetrante o GPR (Ground Penetrating Radar) es el término general aplicado para mapear o cartografiar estructuras enterradas en el suelo. radar penetrante de suelo
El GPR se utiliza en muchas áreas como la localización de tuberías enterradas para servicios públicos, la evaluación del sitio en minas, excavaciones arqueológicas, medición del espesor de nieve o hielo para la gestión de pistas de esquí, etc.
Al emitir un pulso de radio hacia el suelo, la señal rebota al cambiar de medio y puede ser detectada en la superficie. Por lo que la distancia recorrida por la señal es de dos veces d.
Simplificando el ejercicio, considere la potencia de la señal recibida en el receptor en dB se expresa como:

RSSI(d)=-10\alpha log_{10}(d)+ P_0 ; d\gt0

Suponga que el coeficiente de atenuación del medio α = 4.5, P0 = – 20 y Rssi = -90, que la composición del suelo es uniforme y no existen pérdidas al rebotar sobre el material de la tubería mostrada en la gráfica.

a. Plantear el ejercicio para encontrar la profundidad a la que se encontraría la tubería usando el método de Newton-Raphson.

b. Describa el criterio para seleccionar un valor inicial de búsqueda y la tolerancia a usar en la solución.

c. Realice al menos tres iteraciones para el método indicado.

d. Realice observaciones sobre la convergencia del método.

e. Adjunte los archivos: algoritmos.py, resultados.txt y gráfica.png

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

Referencia: [1] ¿Puedo predecir la profundidad de exploración?. Sensors&Software. https://www.sensoft.ca/es/blog/what-is-gpr/
[2] Te mostramos en realidad aumentada cómo son los túneles. Univisión Noticias. 16 oct 2023.