Сейчас я работаю над проектом из этой книги . В приложении D они предоставляют несколько проектов, которые можно закодировать как обзор всего материала книги. Я закончил первый проект, Site/Track, и мой вывод достаточно близок (благодаря числовой неточности Python) к решению. Я попытался использовать библиотеку Orbital python, чтобы сделать график моего решения, чтобы добавить приятный визуальный акцент в проект.
Я ввожу векторы состояния, конвертируя из единиц расстояния и единиц времени, определенных в книге, в метры и метры в секунду (в соответствии с требованиями функции преобразования орбитальной функции). большая полуось примерно равна радиусу земли. Это, очевидно, неверно, поэтому я перешел к следующей точке данных - тот же результат. Хорошо, может быть, это мой код? Итак, я посмотрел вектор состояния для МКС, нашел здесь, ввел его в свой код, и получается красивый график орбиты. Так что, может быть, это просто данные в книге. Я ввожу другой пример из книги из главы, которой я следовал, чтобы создать программу, где они преобразуют векторы состояния в орбитальные элементы. Это тоже делает этот расчет идеальным. Затем я пробую еще один источник здесь, и эти векторы не работают в моей программе. Я тоже заложил в этот калькулятор все 3 вектора , МКС и один из моей книги сработали, а остальные нет. Я пытаюсь найти несоответствие, которое я явно упускаю...
Итак, мой вопрос. Существуют ли разные системы отсчета для этих векторов, которые могут вызывать эти ошибки. Какие еще ошибки я мог непреднамеренно внести?
Вот мои входные данные из книги (не функционирующие), определенные в книге как система отсчета IJK (инерциальная)
r = [ 1779987.13023855 -4944211.65294755 4065801.40507205]
v = [ 2082.84303416 -1179.76617351 410.70269708]
Выход:
KeplerianElements:
Semimajor axis (a) = 3493.823 km
Eccentricity (e) = 0.950399
Inclination (i) = 45.1 deg
Right ascension of the ascending node (raan) = 160.3 deg
Argument of perigee (arg_pe) = 303.1 deg
Mean anomaly at reference epoch (M0) = 144.4 deg
Period (T) = 0:34:15.239378
Reference epoch (ref_epoch) = J1970.000
Mean anomaly (M) = 144.4 deg
Time (t) = 0:00:00
Epoch (epoch) = J1970.000
Данные ISS, которые я использовал (показан правильный график), определены на веб-сайте как m50 декартово.
r = [4607312.46, -1531324.39, 4749270.39]
v = [4597.800926, 5516.878978, -2671.990580]
Выход:
KeplerianElements:
Semimajor axis (a) = 6794.798 km
Eccentricity (e) = 0.000980
Inclination (i) = 51.4 deg
Right ascension of the ascending node (raan) = 212.9 deg
Argument of perigee (arg_pe) = 53.7 deg
Mean anomaly at reference epoch (M0) = 62.7 deg
Period (T) = 1:32:54.113176
Reference epoch (ref_epoch) = J1970.000
Mean anomaly (M) = 62.7 deg
Time (t) = 0:00:00
Epoch (epoch) = J1970.000
Вот частичный ответ, пока вы не добавите дополнительную информацию в соответствии с запросом в комментариях.
благодаря числовой неточности Python
Я не думаю, что вы где-то рядом с пределом поплавков Python. Вместо этого давайте вспомним, что кеплеровы орбиты являются лишь теоретическими приближениями. Самые большие отклонения происходят из-за экваториального сжатия Земли, выраженного что составляет около 1 части на тысячу эффект. Если вы просто используете центральный сила, которую вы собираетесь получить на порядок 0,1%. Затем идут мультипольные члены более высокого порядка, гравитация Солнца и Луны и т. д.
Вот векторы начального состояния, о которых вы сообщаете. (Я думаю, что вы конвертировали из безразмерных чисел в своем источнике? Было бы неплохо их тоже увидеть)
r = [1779987.13023855, -4944211.65294755, 4065801.40507205]
v = [2082.84303416, -1179.76617351, 410.70269708]
Уравнение vis-viva невероятно полезно. Для центральных силовых (кеплеровских) орбит это связывает скалярные значения , и независимо от того, в каком направлении указывают эти два последних вектора, так что это очень удобно!
или
Стандартный гравитационный параметр Земли (произведение ) составляет около 3,986E+14 м^3/2^2.
У вас есть 6644,12 км и 2,42874 км/с. Экваториальный радиус Земли (6378,137 км) обычно используется для присвоения значения высоты, поэтому объект находится на высоте 266 км, перемещаясь только на 31% от 7,746 км/с, необходимых для круговой орбиты на этом расстоянии, так что это собираюсь нырнуть в землю.
Приведенное выше уравнение vis-viva дает 3493,823 км точно так, как вы показываете в выводе, что неудивительно, поэтому я не буду подтверждать другие пункты.
Это может быть плохо продуманная проблема, отправляющая космический корабль в глубокое погружение, или, поскольку он настолько медленный, что может даже выжить при входе в атмосферу, если у него есть двигатели, немного похоже на многоразовую первую ступень на вершине своей дуги!
Органический мрамор
SE - хватит стрелять в хороших парней
SE - хватит стрелять в хороших парней
Райан С
ооо
кришортон