数値微分を具体例を用いてわかりやすく解説

数値微分とは

数値微分では、具体的な計算を用いて関数の傾きを求めます。

解析的に解けない関数の傾きを求めるのに有効な手法で、勾配法のアルゴリズムなどにも用いられています。

数値微分の仕組み

高校で学習した数学の記憶をたよりに微分の定義を思い出してみましょう。

微分の定義

 f(x)=limh0f(x+h)f(x)h f'(x) = \lim_{h \to 0}\displaystyle \frac{f(x+h) - f(x)}{h}

極限といった問題はコンピューターで解くことは困難であることが知られています。ですので、以下のように考えることができます。

f(x)= f(x+h)f(x)h f'(x) = \displaystyle \frac{f(x+h) - f(x)}{h}

h h を微小な値とする。

このように導関数を近似を用いて求める手法を数値微分と呼びます。

上記は数値微分の一つの手法で2点近似と呼ばれます。

コンピューターでは以下のように計算を行います。

h=0.001 h = 0.001 とすると

 f(x)= f(x+0.001)f(x)0.001 f'(x) = \frac{f(x+0.001) - f(x)}{0.001}

数値微分と誤差

数値微分は必ず誤差が生じてしまいます。この誤差はh0 h → 0 を極限まで近づけることができないために生じるものです。

数値微分は誤差を許す一方で、解析的に解けない関数の傾きを求められるという長所があります。

誤差を小さくする手法として、中心差分近似があります。中心差分近似では以下のように導関数を求めます。

中心差分近似の導関数

f(x)= f(x+h)f(xh)2h f'(x) = \displaystyle \frac{f(x+h) - f(x-h)}{2h}

では、どれだけ誤差が生じるか、二点近似と中心差分近似をそれぞれを用いて確認してみましょう。

例題

f(x)=x3 f(x) = x^3 x=0,5,10 x = 0, 5, 10での傾きを微分法、二点近似、中心差分近似、それぞれを用いて求めましょう。

ここでは微小値h=0.001 h = 0.001 とします。

微分法

f(0)=0f'(0) = 0

f(5)=75f'(5) = 75

f(10)=300f'(10) = 300

二点近似

f(0)=0.001f'(0) = 0.001

f(5)=75.015f'(5) = 75.015

f(10)=300.3f'(10) = 300.3

中心差分近似

f(0)=0f'(0) = 0

f(5)=75.000001f'(5) = 75.000001

f(10)=300.000001f'(10) = 300.000001

二点近似と中心差分近似の誤差を比べてみると、中心差分近似のほうが傾きを正確に近似していることが分かります。

関連サービス

講座一覧ページ

記事一覧はこちら

無料で統計学を学ぶ