とらりもんHOME  Index  Search  Changes  Login

数値微分と数値積分

筑波大学農林工学系 奈佐原(西田)顕郎

微分方程式を数値解析で解くには、微分・積分を、近似的に離散化して解く。その結果、微分方程式は、単なる数列になるのである。そのマジックを味わう前に、まず微積分を計算機で行ってみよう。

数値微分

関数f(x)の微分は以下の(1)式または(2)式で定義される(両式は等価):

deriv.png

つまり、微分とは、狭い区間内での関数の傾きのこと。 関数の傾きは、f の変化したぶん(df と書く)をxの変化したぶん(dxと書く)で割り算すれば出る。

数値解析では、この定義通りに微分を実行する。数学的には、x1 - xを限りなくゼロに近づけるという概念操作を行うが、数値的にはそんなことは気にしない。かわりにxどうしの間隔をじゅうぶんに狭くとっておけばよろしい。

高校数学ではいろんな関数の微分操作を習ったが、数値解析ではそれらは一切使わない。数値解析では微分は単に、上の式で引き算と割算を組み合わせるだけである。

課題5-1. y = x2を数値的に微分し、解析解(y=x)とともにグラフに描け。

4-1.png

解説: A列・B列でy=x^2を作る。次に、C列で、上の式(2)に従って(limは無視)、隣り合うxyのそれぞれの値の差の割算をC3に入れ、下までコピペすると、dy/dxができる。

解析解(理論的な解)であるy=2xと、数値的に求めたdy/dxには若干のずれが見られる。これはxの刻みを小さくすればそれなりに解消するが、離散化に伴う誤差のひとつである。

課題5-2. y = sin xを数値的に微分し、解析解(y=cos x)とともにグラフに描け。

課題5-3. y = exp xを数値的に微分し、グラフに描け。

数値積分

次に積分を考えよう。

積分とは、yxの変化分を少しづつかけて足し合わせること。 それは結局、関数とx軸ではさまれた部分の面積に相当する。

S = y1(x2-x1) + y2(x3-x2) + y3(x4-x3) + ・・・ + yn(xn+1-xn)

数学的には、x2 - x1を限りなくゼロに近づけるという概念操作を行うが、数値的にはそんなことは気にしない。かわりにxの間隔をじゅうぶんに狭くとっておけばよろしい。

高校数学では、積分は微分の逆演算として、いろんなパターンを覚えて練習したが、数値解析ではそのようなことは一切必要無い。数値解析では微分は単に、上の式でかけ算と足し算を組み合わせるだけである。

課題5-4. y = xx=0から数値的に積分し、解析解(y=x2/2)とともにグラフに描け。

4-4.png

解説: A列・B列に、まず関数y=xを作る。C列の最初には、積分の初期値(積分定数などで決まるが、定積分の場合はゼロ)としてゼロを入れる(C2)。その下のC3には積分の定義、すなわち、これまで足し合わせたものに「現在の関数の値×xの幅」を足す、という式を入れる。ここでは「=C2+B3*(A3- A2)」という式になる。それを下までコピペ。

課題5-5. y = exp (-x2)を-10から10まで(ほとんど-∞から+∞と同じ)、数値的に積分せよ。

なお、この関数はガウス関数といって、統計学の正規分布など、広い範囲で応用される。しかしこの関数の不定積分は解析的に行うと非常に難しく、むしろ数値的に行われることが多い。-∞から∞までの定積分は解析的に行うことができて、パイの平方根(1.7724...)となることが示されている(標準正規分布の式で係数にパイの平方根が現れるのはそのためである)。

Last modified:2015/02/04 12:41:07
Keyword(s):
References:[数値解析入門]