Tomé un descanso de Stack Exchange, me subí a mi vehículo espacial y volé el siguiente garabato:
a partir de xyz = [-0.01, 0, -0.05]
y v_xyz = [0, -0.2, 0]
con un tiempo total de vuelo de
.
Cuando llegué a casa, me dijeron: "Oh, ese fue un garabato de lissajous encantador, pero ¿ cuánto delta-v le pusiste al auto? "
Dije "Oh, no mucho" y me dirigí directamente a mi computadora para volver a Stack Exchange.
Pregunta: ¿Cuánto delta-v usé?
"puntos de bonificación" por incluir un script de Python en su respuesta
Gráfica 3D de posición (retornos al origen) y gráficas de componentes de velocidad
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from scipy.integrate import odeint as ODEint
def deriv(X, t):
x, v = X.reshape(2, -1)
ax = np.cos(10*t)
ay = np.sin(5*t)
az = np.cos(2* t)
return np.hstack((v, [ax, ay, az]))
times = np.linspace(0, 2*np.pi, 1001)
X0 = np.hstack(([-0.01, 0, -0.05], [0, -0.2, 0]))
answer, info = ODEint(deriv, X0, times, full_output=True)
xyz, vxyz = answer.T.reshape(2, 3, -1)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d', proj_type = 'ortho')
x, y, z = xyz
ax.plot(x, y, z)
ax.plot(x[:1], y[:1], z[:1], 'ok')
ax.plot(x[-1:], y[-1:], z[-1:], 'or')
plt.show()
for thing in vxyz:
plt.plot(thing)
plt.show()
Como es solo un cambio en la velocidad, podemos simplemente integrar la norma de la función de aceleración con el tiempo:
Sin embargo, no tienes suerte al obtener una forma cerrada de esa integral.
En cuanto a las soluciones analíticas, podemos notar que en , todo de , y están al máximo, y por lo tanto .
Del mismo modo, la aceleración en todo momento va a ser mayor o igual que una de las componentes, y como son funciones trigonométricas, sus integrales son triviales.
No puedo ver que hay mucho más a partir de aquí que simplemente poner la función de aceleración en un integrador numérico. Es una curva suave, por lo que son buenos en esto.
Integral(sqrt(cos(10*x)^2 + sin(5*x)^2 + cos(2*x)^2),0,2*pi)
-> 7.5279
O, por definición de aceleración, si lo que tienes son datos de velocidad:
Lo cual, si tiene datos tabulares y no se molesta con la interpolación, es simplemente:
Lo cual es simplemente resumir todas las diferencias de velocidad entre los puntos de datos discretos.
J...
UH oh
J...
UH oh
UH oh
UH oh
J...
UH oh