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


この記事が気に入ったらサポートをしてみませんか?