#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))
делает свое дело.