Решение ОД с сочувствием

#python #sympy

Вопрос:

Я только что начал испытывать сочувствие. К сожалению, я уже в тупике. Взгляни на это:

 from sympy import *
t, G, M = symbols('t G M', real = True)
x = Function('x')
y = Function('y')
print(Eq(Derivative(x, t, 2),  G * M * x(t) / (x(t) * x(t)   y(t) * y(t))**1.5))
 

…он просто печатает False . В документации говорится, что это означает, что связь может быть доказана как ложная.
Я знаю , что могу предотвратить оценку с помощью evaluation = False , но в конечном итоге я хочу решить свою систему дифференциальных уравнений, и тогда это предположение снова вступит в игру.

Итак, кто-нибудь может увидеть, что я здесь сделал не так?

Дополнение:

То, что я пытаюсь сделать,-это поиграть с проблемой двух тел и орбитальной механикой. С гравитационной постоянной G и массой первичного M элемента в начале координат это и симметричное уравнение для y(t) описания гравитационного ускорения на вторичном.

Решение, говорит нам Кеплер, должно быть эллипсом для разумных начальных условий.

Ответ №1:

Я нашел это сейчас, решение довольно простое: SymPy нужно сказать x , что это функция t , поэтому

 print(Eq(Derivative(x(t), t, 2),  G * M * x(t) / (x(t) * x(t)   y(t) * y(t))**1.5))
 

делает свое дело.