つれづれなる備忘録

日々の発見をあるがままに綴る

Texによる数式表現51~非線形微分方程式の解法

 Texによる数式表現方法として今回は非線形微分方程式について紹介する。

1. ロジスティック方程式

以前線形微分方程式の解法として紹介したマルサスモデルは指数関数的に個体数が増えていくという結果になった。

atatat.hatenablog.com

実際には個体数が無制限に増えることはないので、増加を抑制するモデルについて考えてみる。 一つはマルサスモデルの比例定数mはPが増えるに従って線形に減少するようにする。例えばP=Lに到達したら比例定数m=0となるような場合

[tex: \displaystyle \frac{dP(t)}{dt}=m ( 1- \frac{P}{L} ) P ]

 \displaystyle \frac{dP(t)}{dt}=m ( 1- \frac{P}{L} ) P

上の式をロジスティック方程式と呼ぶ。右辺にP2を含むため非線形微分方程式に分類される。

2. ロジスティック方程式の解

 一般的に非線形微分方程式は解析的に解けず数値計算などを利用するが、ロジスティック方程式に関しては基本的な変数分離法で解くことができる。 まずPを左辺にまとめ、積分形式であらわすと以下のようになる。

[tex: \displaystyle \int \frac{L}{P(L-P)} dP = \int m dt]

 \displaystyle \int \frac{L}{P(L-P)} dP = \int m dt

左辺は部分分数分解すれば簡単に積分できる。

[tex: \displaystyle \int \left( \frac{1}{P} + \frac{1}{L-P} \right) dP = mt+C]

 \displaystyle \int \left( \frac{1}{P} + \frac{1}{L-P} \right) dP = mt+C

積分して得られた対数をまとめると

[tex: \displaystyle -\ln \left( \frac{L-P}{P} \right)  =mt+C]

 \displaystyle -\ln \left( \frac{L-P}{P} \right)  =mt+C

左辺の対数を戻すと右辺は指数の形になる。

[tex: \displaystyle  \frac{L-P}{P}   = A e^{-mt} ]

 \displaystyle  \frac{L-P}{P}   = A e^{-mt}

左辺をPに対してまとめると、以下のような形になる。

[tex: \displaystyle P = \frac{L}{1+Ae^{-mt}} ]

 \displaystyle P = \frac{L}{1+Ae^{-mt}}

ここで初期値P(0)=P0とするとAは

[tex: \displaystyle A=\frac{L-P\_{0}}{P\_{0}} ]

 \displaystyle A=\frac{L-P_{0}}{P_{0}}

これを代入すると、最終的に解は

[tex: \displaystyle P(t) = \frac{P\_{0}L}{P\_{0}+(L-P\_{0}) e^{-mt}} ]

 \displaystyle P(t) = \frac{P_{0}L}{P_{0}+(L-P_{0}) e^{-mt}}

この解をロジスティック関数と呼ぶ。

3. ロジスティック関数の性質

 ロジスティック関数のプロットを以下に示す。A=0.01(=P0) , k=1.5(=m)、L=1とk=3.0 (2*k)の2つのロジスティック関数とマルサスモデル(k=1.5)を合わせてプロットしている。 マルサスモデルは無制限に増加するのに対して、ロジスティック関数は上限値が1に抑えられており、またkが大きいほど収束が早い。

"マルサスとロジスティック曲線"
マルサスとロジスティックス曲線

AI分野で活性化関数として使用されるシグモイド関数

[tex:\displaystyle f(x)=\frac{1}{1+e^{-x}} ]

\displaystyle f(x)=\frac{1}{1+e^{-x}}

と表せるが、これはロジスティック関数においてP0=1/2, L=1, m=1とした場合と等価になる。

4. まとめ

 今回は非線形微分方程式の例としてロジスティック方程式とその解について紹介した。