Телескопы покупают здесь


A A A A Автор Тема: Упрощенное моделирование движения в гравитационном поле  (Прочитано 1668 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Toth

  • *****
  • Сообщений: 2 581
  • Благодарностей: 174
    • Сообщения от Toth
гравитационную постоянную на массу не умножать.
Да, произведение гораздо точнее известно, чем сомножители.

Оффлайн Небесный МеханикАвтор темы

  • Новичок
  • *
  • Сообщений: 20
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Небесный Механик
GM Солнца + GM  Марса = 1.3271244001799E+20 + 4.2828314258067E+13
Ну я считал Марс телом пренебрежимо малой массы.
Умножал кстати как раз G на М :) Но в принципе, это не вносит критической погрешности.

Через 59353325.08 секунд Марс должен вернуться на прежнее место.
Спасибо, это помогло найти ошибку. Оказывается, баг был не в алгоритме, а в "часах" :) Неправильно выводилось количество суток, а секунды были при этом примерно одинаковы.

Оффлайн Aluminium

  • *****
  • Сообщений: 2 619
  • Благодарностей: 99
  • Мне нравится этот форум!
    • Сообщения от Aluminium
GM Солнца + GM  Марса = 1.3271244001799E+20 + 4.2828314258067E+13
Нач. вектор положения Марса =(206648658093.026;0;0), скорость =(0;26498.9066619695;0) - в перигелии. У Солнца - все 0.
Через 59353325.08 секунд Марс должен вернуться на прежнее место. В гелиоцентрических координатах ( то есть радиус-вектор Марса минус радиус-вектор Солнца. Хотя Марс легкий, но все же .. )
Спасибо за начальные данные. В дополнение к результатам таблицы сообщаю результаты Эверхарта 9-го порядка. На шаге 59353325.08 секунд погрешность 6*107 м. На шаге 5935332.508 секунд (1/10 периода) погрешность где-то на машинном округлении.

Оффлайн Ser100

  • *****
  • Сообщений: 1 007
  • Благодарностей: 14
    • Сообщения от Ser100
    • Моделирование систем
Вопрос перенесен из темы о смещении Земли Юпитером

Так вы что, собираетесь разоблачать гнусных буржуазных лжеученых.
Нет, здесь я вам не помощник, с моими программными поделками я не в силах ни опровергнуть, ни подтвердить.

А если хотите просто проверить качество моих расчетов, то пожалуйста - задайте исходные данные , просчитаю на какой-то период, потом назад, сравним с исходными и т.д.
Исходные данные - в виде векторов скорости и положения и масс ( или произведений GM ). Т е. (X,Y,Z,vX,vY,vZ)1, (X,Y,Z,vX,vY,vZ)2, ..., GM1,GM2.

Нет, мне не нужны помощники "разоблачать гнусных буржуазных лжеученых", т.к. я со своими "программными поделками" уже давным-давно их разоблачил в своих статьях (и с эфемеридами JPL, и с их двойным пульсаром В1913+16 и по многим другим исследованиям). Да и в качестве ваших расчетов я не сомневаюсь, а просто хочу выяснить насколько более перспективен для моделирования Солнечной системы метод Эрмита, чем метод РК4 на больших промежутках времени, т.е. насколько он устойчив. При этом я согласен с вами, что данная тема о Юпитере не очень подходит для выяснения этого вопроса. Да она вообще не очень подходит и для данного раздела форума, т.к. автор темы в первом своем посте пишет (не знаю, как посчитать), т.е. эта тема должна быть в разделе "Помогите решить задачку". Поэтому предлагаю продолжить в вашей теме "Упрощенное моделирование движения в гравитационном поле", хотя, тут у меня к вам сразу возникает вопрос - почему "упрощенное" моделирование, а не просто моделирование.

Вообще-то, меня интересуют интервалы в несколько тысяч лет, но давайте начнем со 100 лет. Исходные данные давайте зададим на 1 января 1901 года и просчитаем до декабря  2000 года, а потом вернемся к 1 января 1901 года. При этом я считаю, что данные надо задавать по моей теории планет Ser0, а не по эфемеридам JPL, т.к. у них там возмущенные орбиты с влиянием кучи всяких астероидов, а у меня задаются невозмущенные орбиты (да и на больших интервалах времени моя теория дает гораздо более точные данные, чем эфемериды JPL). Выписывать на листочке начальные данные я не буду. Для этого воспользуемся моей программой Solsys7m5 (скачать вместе с исходниками и описанием можно на моем сайте - смотрите адрес в подписи). При запуске программы появляется 1-я форма проекта, где задаем дату 1,5_1_1901 и нажимаем кнопку "Загрузить параметры на", а потом кнопку "Рассчитать по параметрам орбит начальные данные" и в рамке "Показывать на экране" включаем переключатель "начальные данные". Теперь в окошках смотрим заданные координаты для Солнца и девяти планет и их скорости, а так же использованное в расчетах отношение массы Солнца к массам этих планет. При этом в окошках выше смотрим использующиеся в расчетах величины астрономической единицы "Lae", массы Солнца "mSol" и гравитационной постоянной "gamma". Подставляете эти данные в свою программу и считаете (рисунки почему-то не загружаются, поэтому даю ссылки на них).

http://modsys.narod.ru/Ris/Solsys7_form1.jpg



А, чтобы воспользоваться для этого моей программой, надо перейти на 2-ю форму проекта (для этого надо нажать кнопку "К моделированию"). Здесь надо провести вычислительный эксперимент со скоростью гравитации равной бесконечности, когда не будет учитываться ни запаздывание по координатам, ни динамическое давление (это надо, чтобы процесс был обратимым, поэтому не отмечаем чекбокс "Vgr=Vsv*<>" и на форме "Дополнительные параметры" оставляем все переключатели в исходном положении, т.е. можете ее даже не открывать). При этом запишем текущие координаты и скорости Меркурия в файл Solsys1XYZ (далее идет номер файла, который вы задаете в окошке "Записать параметры орбиты в файл", но галочку у этого чекбокса надо убрать). И прежде чем нажать на кнопку "Начать", надо еще отметить чекбокс «Записать координаты X, Y, Z», а, чтобы при записи вычислялись энергия системы и ее момент количества движения, которые тоже отражают точность расчетов, надо включить их расчет, т.е. отметить чекбокс «dEsys, dMsys, %». При этом, чтобы файл с данными не был огромным, запись можно включать прямо во время работы программы (только в нужные моменты времени), а потом галочку убирать, т.е. выключать запись.

http://modsys.narod.ru/Ris/Solsys7_form2.jpg


При этом надо еще убрать галочку у чекбокса "Найти показатели планеты № <1>" (1 это Меркурий), а в окошке "с выводом через <1000> шагов, можно задать меньшее количество шагов, через которое данные будут записываться в файл, т.к. первая запись будет не для 1 января 1901 года, а уже через заданное количество шагов решения системы уравнений. И примерно в декабре 2000 года остановим программу, нажав на кнопку "Остановить" (у меня это можно сделать и автоматически, если отметить чекбокс "Закончить в <2000> году", но в данном расчете надо убрать галочку у этого чекбокса, т.к. при этом у нас может не совпасть время в 1901 году, когда данные будут записываться в файл). Затем включаем реверс времени (в рамке "время идет" включаем переключатель "назад") и продолжаем вычислительный эксперимент назад, т.е. до 1.01.1901 года, (для этого надо нажать на кнопку "Продолжить") и при этом опять запишем координаты и скорости Меркурия в файл, т.е. при приближении к этой дате отмечаем чекбокс "Записать координаты X, Y, Z", а потом останавливаем программу и смотрим данные в файле, который будет в папке Dat. У меня, как это видно из записи в файле, получились вот такие данные на момент времени Т=3,6*10^6 секунд от начала расчета, т.е. от 1,5_1_1901 (JD=2415386).

эксперимент № 100 для объекта № 1 из 10 от  09.09.2021 плоскость эклиптики в эпоху J2000    начало 01,50.01.1901
шаг решения 3600 сек  уменьшен у перигелия в 1000 раз     dAlfa= 0   kodBary= 0   kodMoon=  0   kodDX=  0   kodPgr=  0
Классика  Ser0             VXsys=  0   VYsys= 0   VZsys= 0    Vgr= 0 Vsv   k1= 0  k2= 0
время в секундах/1000000     X, Y, Z и Rpl в тыс. км     VX, VY, VZ и Vpl в м/с   
энергия системы в Дж /10^30   момент количества движения в кг*м^2/с /10^30

12,167.02.1901____T= 000000003,600____X= 000040371,974____Y= 000026526,584____Z= -000001552,178
____Rpl= 000000000,000____VX= -0036288,286____VY= 0042872,071____VZ= 0006836,334
____Vpl= 0056582,592____Esys= 000190974,309____MKDsys= 31343785520415,600

07,500.12.2000____T= 000003153,600____X= -000048861,269____Y= -000045520,394____Z= 000000765,801
____Rpl= 000000000,000____VX= 0023311,120____VY= -0033441,627____VZ= -0004868,715
____Vpl= 0041054,295____Esys= 000190996,879____MKDsys= 31341487182109,200

12,167.02.1901____T= 000000003,600____X= 000040371,983____Y= 000026526,573____Z= -000001552,180
____Rpl= 000000000,000____VX= 0036288,274____VY= -0042872,079____VZ= -0006836,334
____Vpl= 0056582,590____Esys= 000190974,309____MKDsys= -31343785520419,900

При этом, отмечаем не только полученную точность расчетов (по разности координат), но и время затраченное на расчет. Как видно на скриншоте (в окошке "dTreal"), у меня с анимацией, т.е. с выводом текущих положений планет на экран, и с расчетом энергии системы и ее момента количества движения это заняло 0,359 часа. Да, для такого расчета это слишком много, но дело в том, что код программы у меня написан на не очень быстром языке программирования VisualBasic 6.0, т.к., если писать на C++, то быстрее всего такая сложная программа не будет написана и за десять лет. Можно было бы написать и на FreeBasic, который тоже позволяет быстро писать программы и работает так же быстро, как и C++, но там будет много мороки с визуализацией. Поэтому, если надо ускорить работу программы, то выходом может быть написание отдельной библиотеки DLL для решения системы уравнений на FreeBasic и подключение ее к проекту, написанному на VisualBasic 6.0. Таким образом меня интересуют не только полученные вами результаты по использованию методов Эрмита и РК4, но и то на каком языке написана ваша программа.

С наилучшими пожеланиями Сергей Юдин.

Оффлайн Toth

  • *****
  • Сообщений: 2 581
  • Благодарностей: 174
    • Сообщения от Toth
Для этого воспользуемся моей программой Solsys7m5 (скачать вместе с исходниками и описанием можно на моем сайте - смотрите адрес в подписи)
А на сайте -
Вам надо будет скачать библиотеку MSVBVM60.DLL, а затем поместить ее в папку C: \ WINDOWS \ SYSTEM32. Потом можете скачивать только заархивированные исполняемые файлы нужных Вам программ, например, Solsys4exe.zip или Solsys5exe.rar..
Мне как-то не хочется вставлять какую-то .dll в папку C: \ WINDOWS \ SYSTEM32.  А потом чего-то запускать. Зачем такие сложности.
Сделайте это сами. И выдайте здесь - всего 10 строк - массы ( или G*M ) Солнца, планет и Луны в каких-либо единицах . И 10 строк vPos,vVel ( по 6 чисел каждая строка ).
Можно не 10, можно какую-то упрощенную систему.


но и то на каком языке написана ваша программа.
На Pascal FPC , IDE - Lazarus ( типа Delphi ). Собственно, это не какая-то одна прога, а куча процедур-функций, из которых я что-то леплю при необходимости.
« Последнее редактирование: 09 Сен 2021 [11:19:50] от Toth »

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Вам надо будет скачать библиотеку MSVBVM60.DLL, а затем поместить ее в папку C: \ WINDOWS \ SYSTEM32.
Можно положить рядом с программой.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Toth

  • *****
  • Сообщений: 2 581
  • Благодарностей: 174
    • Сообщения от Toth
Да, вобщем-то, все равно что за систему брать для расчета. Главное - какая сложность. Я взял из DE/LE405, мне так проще. Солнце, Меркурий .. Нептун, Луна, итого 10 тел.
Исходная дата JD = 2415386, JD = 2451911 , ровно 100 юлианских лет. Прогнал туда-сюда, сравнил барицентрические координаты.
Вот результат. Но еще раз говорю - Ру-Ку я давно не занимался, а Эрмита я уже отшлифовал, подводные камни всякие и т.д.
 

Оффлайн Ser100

  • *****
  • Сообщений: 1 007
  • Благодарностей: 14
    • Сообщения от Ser100
    • Моделирование систем
А на сайте -
Вам надо будет скачать библиотеку MSVBVM60.DLL, а затем поместить ее в папку C: \ WINDOWS \ SYSTEM32. Потом можете скачивать только заархивированные исполняемые файлы нужных Вам программ, например, Solsys4exe.zip или Solsys5exe.rar..
Мне как-то не хочется вставлять какую-то .dll в папку C: \ WINDOWS \ SYSTEM32.  А потом чего-то запускать. Зачем такие сложности.
Эта рекомендация была написана, когда в некоторых ранних вариантах Виндовс почему-то отсутствовала эта библиотека. А вообще-то эта библиотека сейчас входит в дистрибутив всех Виндовс. Поэтому, если у вас стоит не Windows95, то вам ничего устанавливать не надо (правда, я не смотрел последние релизы после семерки). Но, если окажется, что у вас стоит, например, десятка и там вдруг не окажется этой библиотеки, то, как правильно заметил, Deimos, достаточно поместить эту библиотеку просто в ту папку, где находится файл Solsys7m5.exe.

Сделайте это сами. И выдайте здесь - всего 10 строк - массы ( или G*M ) Солнца, планет и Луны в каких-либо единицах . И 10 строк vPos,vVel ( по 6 чисел каждая строка ).
Я же дал ссылку на скриншот первой формы программы, где в окошках с точностью до 7-го знака видны все исходные данные. А, если вы запустите мою программу, то сможете просмотреть в этих окошках данные с точностью до 15-го знака.

Можно не 10, можно какую-то упрощенную систему.
Давайте будем ближе к реальности и использовать все 10-ть масс.

С наилучшими пожеланиями Сергей Юдин.


Оффлайн Toth

  • *****
  • Сообщений: 2 581
  • Благодарностей: 174
    • Сообщения от Toth
будем ближе к реальности и использовать все 10-ть масс.
Вот - в пред. посте результат . 10 масс.
Какие исходные данные брать - не принципиально. Думаю ваши не сильно отличаются от DE405.

Оффлайн Ser100

  • *****
  • Сообщений: 1 007
  • Благодарностей: 14
    • Сообщения от Ser100
    • Моделирование систем
Вот - в пред. посте результат . 10 масс.
Какие исходные данные брать - не принципиально. Думаю ваши не сильно отличаются от DE405.
Да, если брать интервал в 100...200 лет, то данные, полученные по моей теории Ser0, практически не отличаются от данных в файлах DE405, но, как я писал ранее, меня интересуют вековые смещения параметров орбит планет, т.е. меня интересуют интервалы как минимум в несколько тысяч лет, а здесь эфемериды DE405 не просто дают какую-то погрешность, а вообще не лезут ни в какие ворота. Поэтому я и предлагал сразу (уже для интервала в 100 лет) использовать мои исходные данные. Но, если вам проще использовать данные DE405, то давайте рассмотрим результаты с ними, которые вы привели выше. Вы там пишите

Да, вобщем-то, все равно что за систему брать для расчета. Главное - какая сложность. Я взял из DE/LE405, мне так проще. Солнце, Меркурий .. Нептун, Луна, итого 10 тел.
Исходная дата JD = 2415386, JD = 2451911 , ровно 100 юлианских лет. Прогнал туда-сюда, сравнил барицентрические координаты.
Вот результат. Но еще раз говорю - Ру-Ку я давно не занимался, а Эрмита я уже отшлифовал, подводные камни всякие и т.д.


Начнем с того, что у вас немного другая исходная система, т.к. вы вместо 10-го тела (Плутон)  используете Луну, т.е. у вас критический шаг решения определяется Луной, а не Меркурием, как у меня, а это является принципиальным различием наших расчетов. К тому же, теория Луны является самой не точной и поэтому (особенно на больших промежутках времени) мы будем получать очень противоречивые результаты для четырех внутренних планет, точность расчета которых всех и интересует, т.к. по внешним планетам (начиная с Юпитера и далее) нет практически никаких расхождений по всем имеющимся теориям планет. Да, собственно говоря, для внутренних планет (от Меркурия до Марса) по вашим расчетам, т.е. по данным, что вы привели выше, вопросы возникают уже на интервале в 100 лет.

Например, по методу Эрмита у вас погрешность расчета для Земли получилась больше, чем для Вернеры, чего не должно быть, а для Марса у вас получилась минимальная погрешность при шаге 0,1, а при меньшем и большем шаге погрешность растет, хотя для остальных внутренних планет она постоянно увеличивается вместе с увеличением шага решения, т.е. объяснить это накоплением "мусора" при мелких шагах решения нельзя. Ну, а по методу Рунге-Кутта по 4-м коэффициентам у вас вообще полный завал, т.к. для Земли и Марса у вас опять почему-то минимальная погрешность получилась при шаге 0,1, а при меньших шагах она почему-то получилась даже больше, чем у Меркурия. И у Венеры при шаге 0,02 она тоже почему-то получилась больше, чем у Меркурия, а при шаге 0,25 она у вас почему-то стала меньше, чем при шаге 0,1, но такого не должно быть. И вообще, у вас какие-то подозрительные погрешности расчета. Например, у меня для Меркурия по РК4 при шаге 1/24 дня, т.е. один час, получилась погрешность в несколько десятков километров, а у вас при шаге 1/20 дня она получилась 3 млн. км.

Т.е. в ваших расчетах явно что-то не так и надо разбираться что именно. Я, конечно, могу предположить, что эти несуразности возникли из-за того, что вы использовали в расчетах Луну вместо Плутона и из-за того, что вы определяли ошибку по барицентрическим (относительным) координатам, а надо по абсолютным, что принципиально не правильно, т.к. у вас вся система могла за время расчета улететь очень далеко от исходного положения, но при этом координаты планет относительно барицентра могли изменится незначительно, т.е. при этом реальная погрешность в расчетах будет огромной, но по относительным координатам она будет вполне приемлемой. А может быть у вас и ошибки в коде программы. Поэтому я бы для начала попросил вас выложить где ни будь (или прислать мне на емайл) исходный код вашей программы (или хотя бы только код методов численного интегрирования дифференциальных уравнений и самих диффуров), т.к. по вашим данным я не могу судить о точности методов Эрмита и РК4.

С наилучшими пожеланиями Сергей Юдин.

Оффлайн Toth

  • *****
  • Сообщений: 2 581
  • Благодарностей: 174
    • Сообщения от Toth
а здесь эфемериды DE405 не просто дают какую-то погрешность, а вообще не лезут ни в какие ворота.
Вы только JPL "опровергли" или и других тоже - вот например, наш ИПА РАН - http://iaaras.ru/dept/ephemeris/epm/

Начнем с того, что у вас немного другая исходная система, т.к. вы вместо 10-го тела (Плутон)  используете Луну,
Плутон совсем легкий. Ну, можно было вместо Земли и Луны взять одно тело - Земля+Луна, и считать движение его барицентра.

Например, по методу Эрмита у вас погрешность расчета для Земли получилась больше, чем для Вернеры, чего не должно быть, а для Марса у вас получилась минимальная погрешность при шаге 0,1, а при меньшем и большем шаге погрешность растет, хотя для остальных внутренних планет она постоянно увеличивается вместе с увеличением шага решения, т.е. объяснить это накоплением "мусора" при мелких шагах решения нельзя.
И вообще, у вас какие-то подозрительные погрешности расчета.
Да, бывают всякие парадоксы. Но, так получилось. Тут несколько факторов.
Во первых - этот метод " вперед-назад" определяет только точность возвращения в исходные координаты. Он не определяет, насколько точные были пути туда и сюда. Главное, чтобы они совпали.
Потом - погрешности с течением времени растут не монотонно, а с колебаниями, что естественно для замкнутых орбит.
И при малых шагах , я думаю начинает сказываться уже т.н. машинный эпсилон.

Для иллюстрации этих парадоксов - см. рис.
Первый - СС методом "вперед-назад" на 2 года. По оси X - шаг, в днях, забыл подписать.
Второй - система 4 тел Солнце, Земля, Луна и недавний близкий астероид 2021 RS2 , на 5 дней, но другим методом - сравнение с неким шагом и с половинным шагом. Красным пунктиром - момент сближения. Довольно близко, 20 тыс км от геоцентра, поэтому шаги такие мелкие брал. Там по оси X - время от начала.

Поэтому я бы для начала попросил вас выложить где ни будь (или прислать мне на емайл) исходный код вашей программы (или хотя бы только код методов численного интегрирования дифференциальных уравнений и самих диффуров)
Не, я жадный. ( Это шутка юмора ).
Не потому что жадный, просто у меня там бардак, чтобы привести в понятный для других вид, надо много времени потратить. И все равно боюсь, придется долго объяснять.
Посмотрите в этой теме Ответ #8  - я все делал, как в том источнике.
« Последнее редактирование: 10 Сен 2021 [15:36:29] от Toth »

Оффлайн Ser100

  • *****
  • Сообщений: 1 007
  • Благодарностей: 14
    • Сообщения от Ser100
    • Моделирование систем
Вы только JPL "опровергли" или и других тоже - вот например, наш ИПА РАН - http://iaaras.ru/dept/ephemeris/epm/
Эти эфемериды я даже не стал проверять, т.к. они ни чем не отличаются от эфемерид JPL, т.е. результат будет тот же, а именно плачевный на больших промежутках времени. Тоже самое относится и к теории планет Ньюкома и к теории, изложенной в книге О. Монтенбрук, Т. Пфлегер //Астрономия с персональным компьютером//, которые я тоже рассмотрел в своих статьях. А вот теория планет Птолемея показала очень даже не плохие результаты не только для времени их создания, но и для современных наблюдений. А дело в том, что все современные теории дают расчеты в эфемеридном времени, но учесть эфемеридную поправку мы кое как можем только для наблюдений лет за 100 или 200, а на несколько тысяч лет получается полный бардак. Вот поэтому то и моя теория Ser0 и теория Птолемея (правда, мне пришлось в его таблицах исправить прецессию, т.к., как я выяснил, он ошибся в одном наблюдении на один день и поэтому рассчитал ее не правильно) дают приличные результаты для очень старых наблюдений, т.к. в наших теориях нет потребности в эфемеридной поправке.

Плутон совсем легкий. Ну, можно было вместо Земли и Луны взять одно тело - Земля+Луна, и считать движение его барицентра.
Естественно, надо было брать движение барицентра Земля+Луна, как делают все, кто занимается теорией планет. А то, что Плутон легкий, так это хорошо. Не будет влиять на движение других планет. А вот то, что вы используете Луну, которая тоже легкая, но она заметно влияет на траекторию Земли, а уже последняя заметно влияет на другие планеты, это плохо.

Во первых - этот метод " вперед-назад" определяет только точность возвращения в исходные координаты. Он не определяет, насколько точные были пути туда и сюда. Главное, чтобы они совпали.
Естественно, это у нас единственный критерий, т.к. определить "насколько были точны пути туда и сюда" мы не можем, т.к. не знаем истинных путей, а вот с совпадением у вас действительно проблемы.

Потом - погрешности с течением времени растут не монотонно, а с колебаниями, что естественно для замкнутых орбит.
И при малых шагах , я думаю начинает сказываться уже т.н. машинный эпсилон.
Что-то я не слышал о том, что "погрешности с течением времени растут не монотонно, а с колебаниями" и что это "естественно для замкнутых орбит" (тем более, что планеты движутся не по замкнутым орбитам, т.к. движется вся Солнечная система). Откуда вы это взяли? А вот, что касается "мусора", который накапливается из-за округлений в последней цифре, я вам писал, что это не может объяснить минимальную погрешность для Марса при шаге 0,1. Ну, а то, что у вас РК4 дает погрешность для Меркурия при шаге 1/20 дня она получилась 3 млн. км. не лезет ни в какие ворота, т.к. у меня при шаге 1/24 дня, т.е. один час, получилась погрешность всего в несколько десятков километров. Да и для Земли и Марса у вас при этом получились просто сумасшедшие цифры со множеством нулей, а у меня они получились менее 1 км.

Для иллюстрации этих парадоксов - см. рис.
Первый - СС методом "вперед-назад" на 2 года. По оси X - шаг, в днях, забыл подписать.
Второй - система 4 тел Солнце, Земля, Луна и недавний близкий астероид 2021 RS2 , на 5 дней, но другим методом - сравнение с неким шагом и с половинным шагом. Красным пунктиром - момент сближения. Довольно близко, 20 тыс км от геоцентра, поэтому шаги такие мелкие брал. Там по оси X - время от начала.
Вот только давайте без парадоксов. Они мне надоели в СТО и ОТО.

Посмотрите в этой теме Ответ #8  - я все делал, как в том источнике.
Что касается вашего метода Рунге-Кутта, то что-то не похоже, что там используются 4-е коэффициента, хотя может быть там произведена какая то свертка коэффициентов, т.к. в формулах я вижу только к1, к2 и к3. А вообще-то, в РК4 используются четыре коэффициента. Вот кусочек кода из моей программы, где используются 4-е коэффициента С1...С4. Посмотрите еще какой ни будь другой учебник.
For k = 0 To N4
Q(k) = O(k) + (C1(k) + 2 * C2(k) + 2 * C3(k) + C4(k)) / 6
Next k
Ну, а по поводу метода Эрмита я могу только предположить, что вы что-то напутали с произведением векторов, когда брали производные, т.к. с этим методом я не знаком. Жалко, конечно, что "мы так и не услышали начальника транспортного цеха", т.е. не посмотрели насколько метод Эрмита более устойчив, чем РК4, но мне это все равно не пригодится в практических расчетах, т.к. при использовании мною в расчетах конечной скорости гравитации я не смогу взять третью производную. На всякий случай, сообщаю, что и у Ньютона и у Эйнштейна и т.д. в расчетах используется скорость гравитации равная бесконечности, что и позволяет получить аналитически третью производную (правда в ОТО появится уже четвертая производная, т.к. там ускорения используются уже при расчете самих ускорений).

С наилучшими пожеланиями Сергей Юдин.

Оффлайн Toth

  • *****
  • Сообщений: 2 581
  • Благодарностей: 174
    • Сообщения от Toth
тем более, что планеты движутся не по замкнутым орбитам, т.к. движется вся Солнечная система
И пусть движется. Я сравнивал в барицентрических координатах. Т.к. внешних сил я не не учитывал, то значит барицентр либо покоится , либо движется равномерно прямолинейно. 1,2 законы Ньютона.
Хотя, может быть и Ньютона вы опровергли.
Хотя орбиты строго говоря не замкнутые, но не потому что система движется, они незамкнутые ( не совсем эллипсы) и в гелио- и барицентрических координатах - изза взаимных возмущений.
а на несколько тысяч лет получается полный бардак. Вот поэтому то и моя теория Ser0 и теория Птолемея ...  дают приличные результаты для очень старых наблюдений,
Вы как это проверяли? По каким-то древнегреческим наблюдениям ?

Оффлайн Ser100

  • *****
  • Сообщений: 1 007
  • Благодарностей: 14
    • Сообщения от Ser100
    • Моделирование систем
Хотя орбиты строго говоря не замкнутые, но не потому что система движется, они незамкнутые ( не совсем эллипсы) и в гелио- и барицентрических координатах - изза взаимных возмущений.
И что? Это доказывает ваше утверждение о том, что "погрешности с течением времени растут не монотонно, а с колебаниями" и что это "естественно для замкнутых орбит"? Вы хоть вникаете в то, что пишите? Ну, неужели это объясняет то, что у вас метод РК4 при шаге 1/20 дает погрешность решения в миллионы раз больше, чем у меня при шаге 1/24?

Вы как это проверяли? По каким-то древнегреческим наблюдениям ?
Да, но не только греческих и не только древних.

С наилучшими пожеланиями Сергей Юдин.