Quiero "comprobar" la primera ley de Kepler utilizando datos reales de Marte. De la ecuación de la elipse, derivé
dónde es el semieje mayor, es el semieje menor y es la excentricidad de la órbita elíptica. Estoy buscando el siguiente tipo de datos:
Entonces, quiero comprobar, si y ajustar los valores medidos de , y . Si no hay tales datos disponibles (vista perpendicular en el plano orbital de Marte), ¿cómo puedo transformar los datos dados en otros sistemas de coordenadas a los que necesito? En un sitio web de la NASA ( https://omniweb.gsfc.nasa.gov/coho/helios/heli.html ) encontré datos en las coordenadas "Solar Ecliptic", "Heliographic" y "Heliographic Inertial", pero no sé que se acercan más a mi plan.
Actualizar:
Lo probé con las recomendaciones de uhoh. Lamentablemente fracasé.
Con el siguiente código de python, usando los datos de Horizons x, y, z almacenados en un archivo xlsx,
from __future__ import division
import numpy as np
from statsmodels.regression.linear_model import OLS
from statsmodels.tools import add_constant
from statsmodels.tools.eval_measures import aicc
import pandas as pd
import matplotlib.pyplot as plt
horizons = pd.read_excel("horizons2.xlsx")
horizons = np.array(horizons)
horizonsxyz=horizons[:,2:5]
horizonsxyz=np.array(horizonsxyz, dtype=np.float64)
hx=horizonsxyz[:,0]
hy=horizonsxyz[:,1]
hz=horizonsxyz[:,2]
horizonsr=np.sqrt(hx**2+hy**2+hz**2)
horizonsr=horizonsr*6.68459*(10**(-9))
phi=np.arctan2(hy, hx) * 180 / np.pi
phi2=np.mod(phi+360, 360)
phia=np.mod(phi-286, 360)
phiganz=add_constant(phia)
horizonsdurchr=1/horizonsr
horizons_regr=OLS(horizonsdurchr, phiganz).fit()
print(horizons_regr.params)
print(horizons_regr.summary())
y_pred_horizons=np.dot(phiganz, horizons_regr.params)
print(horizons_regr.params)
obtengo un valor de para . Esto es malo, pero al menos en el orden correcto de magnitud. Sin embargo para Obtengo un valor realmente malo de . Dividir los dos resultados produce una excentricidad estimada de que está muy lejos de la verdad .
También probé otro enfoque, utilizando los datos heliográficos mencionados anteriormente. Aquí, me acerco, pero solo si sumo 35 grados a los ángulos, lo cual no tiene sentido, ya que debo sumar 74 grados o restar 278 grados, para obtener el ángulo relativo al perihelio.
¡Gran proyecto! y bienvenido a Stack Exchange. Publicaré una respuesta breve, pero creo que alguien puede agregar una respuesta más detallada, completa y perspicaz.
Creo que ese sitio web no se adapta bien, así que responderé basándome en que cambie a Horizons. Si te gusta Python, entonces es más divertido usar Skyfield .
Si desea aplicar una ecuación basada en un modelo de órbita de Kepler, deberá usar datos donde el Sol permanece en un lugar y Marte orbita alrededor de él. Eso sería heliocéntrico con el Sol en (0, 0, 0).
Que haya tres ceros plantea la cuestión del número de dimensiones; Las órbitas de Kepler adecuadas son una especie de 3D, es decir, tienen un plano orbital que se puede inclinar a un plano de referencia, pero las órbitas son planas. Dos problemas; su ecuación asume una órbita plana 2D debido a la forma se define. Idealmente, le gustaría obtener datos en el plano de la órbita de Marte y es posible que necesite transformar los datos de NASA/JPL Horizons en el plano orbital de Marte porque solo hay dos planos "oficiales" principales, ningún planeta real permanece perfectamente en un plano.
Entonces, lo que hagas depende de qué tan lejos en la madriguera del conejo de las órbitas simuladas estén los aviones que quieras ir.
Ir a Horizontes
Use este tutorial y configúrelo para que coincida con lo siguiente:
Current Settings
Ephemeris Type: VECTORS
Target Body: Mars [499]
Coordinate Origin: Sun (body center) [500@10]
Time Span: Start=2020-10-04, Stop=2020-10-05, Step=1 d
Table Settings: quantities code=2; output units=KM-S; CSV format=YES
Display/Output: default (formatted HTML)
-- OR --
Display/Output: download/save (plain text file)
Aquí hay una línea de muestra para Marte para hoy usando el Sol como origen (he truncado algunos dígitos decimales). Ves de inmediato que Marte está a unos 201 millones de km del Sol, también está a unos 4 millones de km por debajo de la eclíptica J2000.0.
2459126.500, A.D. 2020-Oct-04 00:00:00.00, 2.036231544E+08, 5.355405115E+07, -3.872888712E+06...
Desde aquí se puede aproximar
y
Ya que está pasando por los cuatro cuadrantes, es mejor usar una computadora arctan2(y, x)
o atan2(y, x)
con dos argumentos, no
que solo funciona en dos cuadrantes (es decir, 1/7 = -1/-7).
Ves de inmediato que Marte está a unos 201 millones de km del Sol, también está a unos 4 millones de km por debajo de la eclíptica J2000.0.
Si desea corregir la inclinación de la órbita de Marte con respecto a la eclíptica, puede encontrar el mejor plano que se ajuste a los datos de un año marciano y crear su propia eclíptica de Marte.
Pero te recomiendo que primero hagas el orden cero y veas qué tan bien o mal funciona, luego puedes decidir si quieres inclinarte.
La primera ley de Kepler es que un planeta se mueve en una elipse con el sol en un foco. Tu ecuación es la de una elipse alrededor del foco, así que has probado la primera ley de Kepler. El es lo que los astrónomos llaman anomalía verdadera. Para poner tu ecuación en la forma usual, es entonces
Con esta ecuación, la elipse se puede trazar eligiendo muchos valores del ángulo y encontrar los valores r correspondientes, luego graficar.
La p es llamada parámetro por los astrónomos y semi-latus rectum por los matemáticos. Como puedes ver, cuando es de 90 grados, el valor de r es p. También, que se puede poner en la ecuación anterior como una forma alternativa de la ecuación.
La ley de Kepler no da información sobre dónde está el perihelio en el plano de la órbita.
Joe_base
UH oh
UH oh
UH oh
Adrián R.
UH oh
Joe_base