Mapleトップページ
サポート・マニュアル

常微分方程式の一般解

微分方程式を解く際に初期条件等の条件を指定しない場合は、任意定数を含む一般解を求めます。
微分方程式に必要な条件を定義し解く事で、任意定数を含まない一般解を求めることができます。

> deq := diff(f(x),x) = x*f(x);

> dsolve(deq, f(x));

上記の微分方程式は1階の常微分方程式ですので、任意定数を含まない一般解を求めるには初期条件が1つ必要になります。初期条件を変数 ini に割り当てます。

> ini := f(0)=1;

ini := f(0) = 1

条件を使用して微分方程式を解くには、dsolve コマンドの引数は、({微分方程式, 初期条件}, 求める関数) の順で入力します。

> sol := dsolve({deq, ini}, f(x));

上記の場合、解は f(x) = と求まります。

解いた解をプロットする際には解から右辺の部分だけを取り出す必要があります。
右辺を取り出すには rhs コマンドを使用します。

> rhs(sol);

解は取り出し関数にしておくと後の処理が便利になります。
関数にするには unapply コマンドを使用します。

> dsol := unapply(rhs(sol), x);

例えば、ある横軸の点での値を求める場合は関数 dsol の引数に値を入力することで求めることができます。

> dsol(1.8);

5.053090317

また、プロットを作成する場合は plot コマンドの引数に直接関数を入力します。

> plot(dsol(x), x=0..1);



お問い合わせ サイバネットシステム株式会社 システムCAE事業部
TEL: 03-5297-3299 (受付時間 9:00〜12:00 / 13:00〜17:30 ※土日祝及び弊社休業日を除く)
メールでのお問い合わせ  お問い合わせフォーム  お問い合わせ一覧

モデルベース開発