忘却の微分方程式(129) 反復練習92、ODE2で微分方程式の初期値問題、Maxima

Joseph Halfmoon

前回、1階/2階の常微分方程式の一般解を求めるときは無理やりdesolve関数に任意定数モドキを導入するよりODE2関数にお願いした方がスマートだということに気づきました。でも一般解をODE2関数で求めたとして、実際の値を代入して初期値問題とか解くときはどうするの?ちゃんと関数があったです。まずは1階、ic1とな。

※「忘却の微分方程式」投稿順 index はこちら

※数学のお勉強のための以下の教科書の例題をMaximaの練習に使わせていただいております。ただし御本家『培風館』様のホームページで検索してみるも掲載されていないようです。絶版? そのため以下のリンクは『Amazon』の通販ページであります。ご注意を。

明解 微分方程式 改訂版 長崎・中村・横山共著 培風館

※MaximaおよびそのGUIであるwxMaximaの以下バージョンを使用させていただいております。

    • Maxima 5.46.0(x86_64-w64-mingw32)
    • wxMaxima 22.04.0
ic1関数

ぶっちゃけODE2の求める一階微分方程式の一般解にたいして、初期値問題を解くための関数がこれです。いつもお世話になっておりますMaxima様の日本語マニュアルの該当箇所が以下に。

21. Differential Equations

今回の例題

今回の例題は 微分方程式 y’=y(1-y) において以下の3種の初期条件を満たす解を求めよというものです。

    1. y(0)=1/2
    2. y(0)=2
    3. y(0)=1

ただし、上記の3番についてはそのままic1使って解こうとすると以下のようなエラーに遭遇することになります。y_1_error

最初の微分方程式みたら分かるけどね、右辺のy(1-y)にy=1代入したらy’=0です。傾き0の直線。

ODE2で一般解を求める

今回は、ODE2一撃ではy=…の形にはできず、ふた手間かけてます。こんな感じ。DE12_Ex5_solve

教科書的にはべき乗のところに+%cでなく、係数に%cの方が良いみたいですが、以下の処理みるとMaxima様的にはこのままでOKじゃないかと思います。

さてic1関数を使って上記の1と2のケースの初期値問題を解くと以下のごとし。DE12_Ex5_ic1

上記の1、2番目の解と先ほどの3番目のペッタンコな(y=1)解をグラフにする操作は以下に。DE12_Ex5_plot2d

プロット結果が以下に。はみだした部分があるみたい。DE12_Ex5_Graph

ほんとテキトーだけれどもカッコはついた?新年そうそういい加減。

忘却の微分方程式(128) 反復練習91、ODE2で微分方程式の一般解、Maxima へ戻る

忘却の微分方程式(130) 反復練習93、ODE2で同時微分方程式など一撃よ、Maxima へ進む