数学とか語学とか楽しいよね

フランス語、ドイツ語、ロシア語、アラビア語、オランダ語、英語、スペイン語、ラテン語とか数学とか数値計算(有限要素法、有限体積法、差分法、格子ボルツマン法、数理最適化、C++コード付き)とか勉強したことをまとめます。右のカテゴリーから興味のある記事を探してください。最近はクラシックの名演も紹介しています。noteにも書いています。https://note.mu/kumag_min

【数値計算】数理モデルと離散化の関係とか

今回は「数理モデル」と「離散化」の関係を説明します。いろいろ書こうとするとどうしてもこの二つの概念を説明する必要があることに気づきました。


まず、考えたい(解析したい)現象があります。今回は玉が重力の下で自由落下する運動を考えたい現象であるとしましょう。Newton以来、こうした問題に対しては微分方程式によるアプローチが有効であることがわかっています。つまり、微分を含む式(方程式)で現象を記述します。この式のことを「数理モデル」と呼びます。今回の場合、この数理モデルはNewtonの運動方程式

 
\displaystyle 
\begin{eqnarray} 

\frac{dv}{dt} = -g

\end{eqnarray}

で記述されることがわかっています。ここで  v は速度、 t は時間、 g は重力加速度です。式で現象を記述(表現)したものが数理モデルと考えてもらえば大丈夫です。特にそれは微分方程式になることが多いです。


構築した数理モデルを解くことにより、現象を予測することができます。今回の場合は両辺を一回積分することにより簡単に解くことができます。時刻  t=0 v = 0 とすると

 
\displaystyle 
\begin{eqnarray} 

v (t) = -gt

\end{eqnarray}

となります。これで自由落下する玉の速度を計算することができます。


しかし、このように微分方程式数理モデル)が解けることはめずらしいことで、ほとんどの場合は解くことができません。その場合は、数値計算により解を求めることになります。パソコンは四則演算しかできないので微分方程式数理モデル)を四則演算へと帰着させる必要があります。この操作のことを「離散化」といいます。


この離散化手法にもいろいろ種類があり、代表的なものを挙げると、「差分法」、「有限要素法」、「有限体積法」、「スペクトル法」、「境界要素法」、「粒子法」などがあります。もとの微分方程式の性質に合わせてどの手法を用いるか決めます。


ここでは、差分法を用いてNewtonの微分方程式を離散化してみましょう(これは別の記事で説明します)。離散化された式は

 
\displaystyle 
\begin{eqnarray} 

\frac{v^{n+1} - v^{n}}{\Delta t} = -g

\end{eqnarray}

となります。ここで  \Delta t は微小な時間幅で  v^{n} は時刻  n \Delta t における速度をあらわしています。 n をタイムステップと呼びます。この式のことを「離散化式」と呼びます。 n での速度  v^{n} がわかれば  n+1 での速度  v^{n+1} が求まる、という寸法です。つまり、パソコンは連続を扱うことができないので離散点(各タイムステップ)でのみ値を求めようというのが離散化の考え方です。時間幅を十分に小さくとれば、任意の時刻における速度を求めることができます。


もとの微分方程式は連続(点がびっしり詰まっている)であるのに対して、離散化された式は離散的な点(飛び飛び)でのみ値が与えられています。パソコンは連続をそのまま扱うことはできないのです。

今までの流れを整理しましょう。


考えたい(解析したい)現象

数理モデル

離散化式

最初の矢印がモデル化で二つ目の矢印が離散化をあらわしています。


注意してもらいたいのが、元の現象から離散化式にたどりつくまでに二回近似が入っている、ということです。一回目の近似が現象をモデル化するときです。現象は式でそのまま書けるわけではなく、ある種の理想化を行っています。例えば自由落下する玉の場合、空気抵抗を無視してモデル化しています。もちろん空気抵抗の効果を入れることもできますが、そうするとどんどん数理モデルが複雑になっていき、取り扱いづらくなってしまいます。なので時にはあまり現象に対して影響を与えない要因は切り捨てるということも必要になってきます。二回目の近似は微分方程式数理モデル)を離散化するときです。連続のものを離散として取り扱うので、かなりの注意が必要です。


以上から、現象を正しく解析するためには、現象を妥当な微分方程式数理モデル)で記述し、その微分方程式を妥当な離散化手法を用いて離散化する必要がある、と言えます。