# Fisica computacional (2:00-3:00 pm)
# Elaborado por Nalleli Iridian Avila Garcia (1941693)
import numpy as np
# Definir los tiempos y las masas
t = np.array([1,10,20,30,40])
m = np.array([1200,1100,1005,910,900])
# Calcular dm/dt usando diferencias centradas
dm = np.zeros(5)
dm[0] = (m[1] - m[0]) / (t[1] - t[0]) # Diferencia hacia adelante para el primer punto
dm[4] = (m[4] - m[3]) / (t[4] - t[3]) # Diferencia hacia atrás para el último punto
# Para los puntos intermedios usamos diferencias centradas.
for i in range(1, 4):
dm[i] = (m[i+1] - m[i-1]) / (t[i+1] - t[i-1])
# Definir las constantes
V = 10**3
v0 = 10**4
c = 3.0e8
# Resolver la ecuación diferencial usando el método de Euler.
# Iniciamos con la velocidad inicial v0 y actualizamos la velocidad en cada paso de tiempo.
v = v0
for i in range(4):
v += (V*dm[i]/np.sqrt(1-v**2/c**2))*10 # Paso de 10 segundos
if t[i] == 20: # Salir del bucle cuando t=20
break
print('La velocidad del cohete en t=20s es ', v, ' m/s')
To embed this project on your website, copy the following code and paste it into your website's HTML: