SYMPY dsolve error

Я не могу решить систему нелинейных дифференциальных уравнений второго порядка, заданных уравнениями Эйлера Лагранжа для перевернутого маятника с горизонтальной полосой, используя код:

from sympy import *
from sympy.calculus.euler import euler_equations
from IPython.display import display
t,x0,theta0 = symbols('t x0 theta0')
T = Function('T')
V = Function('V')
x = Function('x')(t)
dx = Function('dx')(t)
dx = (x.diff(t))
theta = Function('theta')(t)
dtheta= Function('dtheta')(t)
dtheta = (theta.diff(t))
T   = J_/2*dtheta**2 + m1/2*dx**2 + m1*l0*dx*dtheta
V   = m1*g*(l0*cos(theta) - x*sin(theta)) + m2*g*lc*cos(theta)
L = T - V
LM = LagrangesMethod(L, [x, theta])
LM_ =LM.form_lagranges_equations()
dsolve(LM_,[x,theta])

После чего я получаю следующую ошибку:

 NotImplementedError                       Traceback (most recent call last)
<ipython-input-141-f1c621509743> in <module>()
      1 LM = LagrangesMethod(L, [x, theta])
      2 LM_ =LM.form_lagranges_equations()
----> 3 dsolve(LM_,[x,theta])

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sympy/solvers/ode.py in dsolve(eq, func, hint, simplify, ics, xi, eta, x0, n, **kwargs)
    606             "number of functions being equal to number of equations")
    607         if match['type_of_equation'] is None:
--> 608             raise NotImplementedError
    609         else:
    610             if match['is_linear'] == True:

NotImplementedError: 

dsolve не может определить тип ODE. Как я могу решить эту систему, используя Sympy или любую другую библиотеку Python

0 ответов

Другие вопросы по тегам