Ejercicio: 2Eva_2022PAOII_T1 Altura de cohete en 30 segundos
literal a
v = u \ln\Big(\frac{m_0}{m_0-qt}\Big) - gt v = 1800 \ln\Big(\frac{160000}{160000-2500t}\Big) - 9.8tSeleccionando el método de Simpson de 3/8, se requieren al menos 3 tramos o segmentos para usarlo, que generan 4 muestras. El vector de tiempo se obtiene como:
v = lambda t: 1800*np.log(160000/(160000-2500*t))-9.8*t
a = 0
b = 30
tramos = 3
h = (b-a)/tramos
ti = np.linspace(a,b,tramos+1)
vi = v(ti)
siendo los vectores:
ti = [ 0. 10. 20. 30.] vi = [ 0. 207.81826623 478.44820899 844.54060574]
la aplicación del método de Simpson de 3/8 es:
I = \frac{3}{8}(10) \Bigg(1800 \ln\Big(\frac{160000}{160000-2500(0)}\Big) - 9.8(0) +3(1800 \ln\Big(\frac{160000}{160000-2500(10)}\Big) - 9.8(10)) +3(1800 \ln\Big(\frac{160000}{160000-2500(20)}\Big) - 9.8(20)) +1800 \ln\Big(\frac{160000}{160000-2500(30)}\Big) - 9.8(30) \Bigg) = I = \frac{3}{8}(10) \Big(v(0)+3(v(10))+3(v(20))+v(30) \Big) I = \frac{3}{8}(10) \Big(0+3(207.81)+3(478.44)+844.54 \Big) I = 10887.52literal b
para el primer segmento se usa t entre [0,10]
x_a = \frac{0+10}{2} + \frac{1}{\sqrt{3}}\frac{10-0}{2} = 7.88 x_b = \frac{0+10}{2} - \frac{1}{\sqrt{3}}\frac{10-0}{2} = 2.11 I = \frac{10-0}{2}\Big(v(7.88)+v(2.11)\Big)=995.79para el 2do segmento se usa t entre [10,20]
x_a = \frac{10+20}{2} + \frac{1}{\sqrt{3}}\frac{20-10}{2} = 17.88 x_b = \frac{10+20}{2} - \frac{1}{\sqrt{3}}\frac{20-10}{2} = 12.11 I = \frac{20-10}{2}\Big(v(17.88)+v(12.11)\Big) =3368.42para el 3er segmento se usa t entre [20,30]
x_a = \frac{20+30}{2} + \frac{1}{\sqrt{3}}\frac{30-20}{2} = 27.88 x_b = \frac{20+30}{2} - \frac{1}{\sqrt{3}}\frac{30-20}{2} = 22.11 I = \frac{30-20}{2}\Big(v(27.88)+v(22.11)\Big) = 6515.23 Altura = 995.79+ 3368.42 + 6515.23 = 10879.44literal c
el error es la diferencia entre los métodos
error_entre = |10887.52-10879.44| = 8.079
Resultados con algoritmo
Método de Simpon 3/8 ti [ 0. 10. 20. 30.] vi [ 0. 207.81826623 478.44820899 844.54060574] Altura con Simpson 3/8 : 10887.52511781406 segmento Cuad_Gauss : [995.792, 3368.421, 6515.231] Altura Cuadratura Gauss: 10879.445437288954 diferencia s3/8 y Cuad_Gauss: 8.079680525106596 >>>
Instrucciones en Python
# 2Eva_2022PAOII_T1 Altura de cohete en 30 segundos import numpy as np # INGRESO v = lambda t: 1800*np.log(160000/(160000-2500*t))-9.8*t a = 0 b = 30 tramos = 3 # PROCEDIMIENTO literal a def integrasimpson38_fi(xi,fi,tolera = 1e-10): ''' sobre muestras de fi para cada xi integral con método de Simpson 3/8 respuesta es np.nan para tramos desiguales, no hay suficientes puntos. ''' n = len(xi) i = 0 suma = 0 while not(i>=(n-3)): h = xi[i+1]-xi[i] h1 = (xi[i+2]-xi[i+1]) h2 = (xi[i+3]-xi[i+2]) dh = abs(h-h1)+abs(h-h2) if dh<tolera:# tramos iguales unS38 = fi[i]+3*fi[i+1]+3*fi[i+2]+fi[i+3] unS38 = (3/8)*h*unS38 suma = suma + unS38 else: # tramos desiguales suma = 'tramos desiguales' i = i + 3 if (i+1)<n: # incompleto, tramos por calcular suma = 'tramos incompletos, faltan ' suma = suma +str(n-(i+1))+' tramos' return(suma) h = (b-a)/tramos ti = np.linspace(a,b,tramos+1) vi = v(ti) altura = integrasimpson38_fi(ti,vi) # SALIDA print('Método de Simpon 3/8') print('ti') print(ti) print('vi') print(vi) print('Altura con Simpson 3/8 :',altura) # PROCEDIMIENTO literal b # cuadratura de Gauss de dos puntos def integraCuadGauss2p(funcionx,a,b): x0 = -1/np.sqrt(3) x1 = -x0 xa = (b+a)/2 + (b-a)/2*(x0) xb = (b+a)/2 + (b-a)/2*(x1) area = ((b-a)/2)*(funcionx(xa) + funcionx(xb)) return(area) area = 0 area_i =[] for i in range(0,tramos,1): deltaA = integraCuadGauss2p(v,ti[i],ti[i+1]) area = area + deltaA area_i.append(deltaA) # SALIDA print('segmento Cuad_Gauss : ', area_i) print('Altura Cuadratura Gauss:', area) print('diferencia s3/8 y Cuad_Gauss:',altura-area) import matplotlib.pyplot as plt plt.plot(ti,vi) plt.plot(ti,vi,'o') plt.title('v(t)') plt.xlabel('t (s)') plt.ylabel('v (m/s)') plt.grid() plt.show()