Можно ли решить уравнение первого порядка с переменными коэффициентами с помощью SymPy?

Можно использовать SymPy для решения ODE. Мой вопрос по теме символьных вычислений: Можно ли решить уравнение первого порядка с переменными коэффициентами с помощью Sympy? Обратите внимание, что это частный случай ОДУ. Например, если бы у меня было уравнение, подобное приведенному ниже

введите здесь описание изображения

Как мне настроить решение такого уравнения с помощью SymPy, если это возможно?


person user4933    schedule 15.11.2020    source источник


Ответы (1)


In [51]: p = Function('p')                                                                                                        

In [52]: x = Symbol('x')                                                                                                          

In [53]: p = Function('p')                                                                                                        

In [54]: x, sigma, gamma, C1 = symbols('x, sigma, gamma, C1')                                                                     

In [55]: eq = Eq(p(x).diff(x), -2/sigma**2 * (C1 + gamma*p(x)))                                                                   

In [56]: eq                                                                                                                       
Out[56]: 
d          -2⋅(C₁ + γ⋅p(x)) 
──(p(x)) = ─────────────────
dx                  2       
                   σ        

In [57]: dsolve(eq, p(x))                                                                                                         
Out[57]: 
                ⎛     2⋅x⎞
              γ⋅⎜C₂ - ───⎟
                ⎜       2⎟
                ⎝      σ ⎠
       -C₁ + ℯ            
p(x) = ───────────────────
                γ 

Заметим, что C2 — произвольная константа (должна быть задана начальными условиями).

person Oscar Benjamin    schedule 15.11.2020