sympyのdsolve関数
5849 ワード
メモ
公式sympyライブラリのODEを翻訳
sympyで線形方程式を解くのに苦労したが、ネット上の資料が少なすぎて、翻訳してみたい.
その後、2つのブログがよく書かれていることに気づきました.転送ドア1、転送ドア2
User Functions
dsolve関数はこのuser functionsの範疇内に属する.
これらの関数はfrom sympy import*でグローバルネームスペースをインポートします.これらの関数(hint Functionsとは異なり)は、一般ユーザーのためにSympyを使用するだけです.
s y m p y . s o l v e r s . o d e . d s o l v e \color{#008b45}{sympy.solvers.ode.dsolve} sympy.solvers.ode.dsolve
( ∗ e q ∗ , ∗ f u n c = N o n e ∗ , h i n t = ′ d e f a u l t ′ , s i m p l i f y = T r u e , i c s = N o n e , x i = N o n e , ∗ e t a = N o n e ∗ , ∗ x 0 = 0 ∗ , ∗ n = 6 ∗ , k w a r g s )\color{#008b45}(*eq*, *func=None*, hint='default', simplify=True, ics=None, xi=None,\\*eta=None*, *x0=0*, *n=6*, kwargs) (∗eq∗,∗func=None∗,hint=′default′,simplify=True,ics=None,xi=None,∗eta=None∗,∗x0=0∗,∗n=6∗,kwargs)
任意の(支持される)常微分方程式と常微分方程式の方程式群を解くことができる.
単常微分方程式について
Usage
その方程式群の方程式の個数は1であると考えられます.
d s o l v e(e q,f(x),h i n t)color{#008 b 45}dsolve(eq,f(x),hint)dsolve(eq,f(x),hint)->方法hintを用いて常微分方程式群eqでf(x)を解く.
Details
Hints
先跳び
Tips
from sympy import Function,Derivative
from sympy.abc import x # x
f= Function("f")(x) #f x
f_=Derivative(f,x) #f_ f x
常微分方程式のグループについて
Usage
d s o l v e(e q,f u n c)color{#008 b 45}{dsolve(eq,func)}dsolve(eq,func)->解は常にx(t),y(t),z(t)などからなる微分方程式群eqである.
Details
eqそれは任意に支持される常微分方程式のグループであってもよく、0に等しいと仮定する式であってもよい.
funcはx(t)とy(t)を変数の関数とし,その部分導関数が常微分方程式の方程式群を構成する.自動的に検出されます(検出できない場合はエラーが発生します).
Examples
from sympy import Function, dsolve, Eq, Derivative, sin, cos, symbols
from sympy.abc import x
f=Function('f')
ans=dsolve(Derivative(f(x),x,x)+9*f(x),f(x))
print(ans)
#Eq(f(x), C1*sin(3*x) + C2*cos(3*x))