Ви по суті отримали відповідь - немає необхідності в коефіцієнті 0,5.
По суті, у вас є двовимірна система ODE першого порядку:
де все є функцією часу, крім імовірноm, а крапки позначають часові похідні. Якщо ви робите просте розмежування їх у першому порядку, перекладене Ейлером, ви знайдете
x n + 1 -xn
х˙v˙= v= Fм,
м
або
xn+1хn + 1- хнΔ tvn + 1- vнΔ t= vн= Fнм,
хn + 1vn + 1= хн+ Δ t ⋅ vн= vн+ Δ t Fнм.
н
тнтn + 1тп + 1 / 2х0v1 / 2
хn + 1vп + 1 / 2= хн+ Δ t ⋅ vп + 1 / 2= vп - 1 / 2+ Δ t Fнм
інтегруватися вперед у часі. Це відомий як
стрибковий метод . Завдяки цьому ваша система зберігає енергію свого роду, і орбіти рідше відлітають у нескінченність або щось подібне через експоненціальне зростання помилки округлення.
Єдина уловка - як її дістати v1 / 2, оскільки, імовірно, ви починаєте з v0. Там ви повинні просто використовувати настільки точну схему, як ви готові до написання, популярним вибором є Runge-Kutta четвертого порядку. Це може бути довгостроково нестабільним, але існує лише стільки помилок, які ви введете за півтора кроку, і ця помилка буде збережена невеликою формою після цього.
Нарешті, ця відповідь стосується будь-якої загальної ньютонівської сили тяжіння. Якщо ви дійсно хочете досконалих кіл, як це було сказано в запитанні, ви не отримаєте таких, крім ідеалізованої системи, в якій планети не взаємодіють одна з одною, і початкові умови вибираються правильно. Якщо це так, то вам взагалі не потрібно інтегруватися, оскільки кутова швидкість (радіани за одиницю часу) такого об’єкта просто
ω = G Mr3----√,
де
М - маса центрального об'єкта і
r- радіус орбіти. Це можна використовувати для перевірки точності вашого моделювання.