sympyを使って微分方程式を解いてみた
・pythonのライブラリのsympyを使って微分方程式を解く練習をしてみた。
まずはその説明
#準備
from sympy import *
from __future__ import division
x,y,z,t = symbols('x y z t')
k,m,n = symbols('k m n',integer=True)
f,g,h=symbols('f g h',cls=Function)
init_printing()
1.同時微分方程式
(i)2つの実数解
expr=Eq(y(x).diff(x,2)-5*y(x).diff(x)+6*y(x))
display(expr,dsolve(expr,y(x)))
(ii)重解
expr=Eq(y(x).diff(x,2)+4*y(x).diff(x)+4*y(x))
display(expr,dsolve(expr,y(x)))
(iii)虚数解
expr=Eq(y(x).diff(x,2)-4*y(x).diff(x)+8*y(x))
display(expr,dsolve(expr,y(x)))
2.非同時微分方程式
(i)
expr=Eq(y(x).diff(x,2)+3*y(x).diff(x)+2*y(x),x)
display(expr,dsolve(expr,y(x)))
(ii)
expr=Eq(y(x).diff(x,2)-2*y(x).diff(x),6)
display(expr,dsolve(expr,y(x)))
・やってみた感想
すごく簡単に解けた。特に非同時微分方程式は①未定係数法②定数変化法の2通りのやり方があるがsympyでやる場合そこは気にせずにdsolveで解けるところが長所だと分かった。他の方程式を解くときにも、解き方が少ないところがいい。
これから数学を計算するときは、いじりたてで時間もかかるかもしれないができるだけsympyを使ってやってみようと思う。
各々の問題も画像として張ろうとしたがめんどくさすぎてやめた。noteは画像を貼る際にctrl+Cを使えないのがかなりいたい。あくまでnoteは文字を書く専門だということにきずかされた(笑)
・参考記事
http://e-yuki67.hatenablog.com/entry/2017/03/26/212722
https://qiita.com/pashango2/items/500d23c8f43784b54315