見出し画像

数値計算・虎の穴#2 数値微分(1)

 『微分、積分、いい気分』。今回は、高校数学では避けて通れない、微分を扱います。数Ⅰまでだと比較的簡単なべき乗関数やその有理式の微分しか出てきませんが、数Ⅲになるともっと複雑な三角関数や対数関数などの微分も出てきます。高校生の時には、大学入試のために、ひたすら公式を丸暗記した人も多いのではないでしょうか。

 しかし、微分で重要なのは暗記ではなく”定義”です。タイトル図は微分の定義式を表わしています。f(x)というのは一変数xの任意の関数です。この時、x=aとなる点での微分値は、図中の式のように表されます。ここでhは、微小な値を持つ変数で、この式はx=aからhだけ離れた二点間の勾配(傾き)を表わしています。hをゼロに近づける極限の操作を行なうと、二点が一点に収束します。この時の勾配が、f(a)での微分値f’(a)となります。

 高校の時に覚えた公式も全て、この定義式から出発しています。大学入試の範囲なら、関数の微分を解析的に解く(=数式として解く)ことができますが、複雑な合成関数は解析的に解くことができません。ただし最近では、数式ツールというのがあって、複雑な式を入力すると、その微分した式を出力してくれるソフトウェアもあります。コンピュータが発達したせいで、随分便利になりました。

 しかし便利な時代になっても、解析的には解けない微分の問題があります。このような時には、微分の近似値として数値微分が使われます。シミュレーションでは、式ではなく値が必要なので、ある程度正確なら近似値で代用出来ます。数値微分の定義は、微分の定義とほぼ同じですが、一ヶ所だけ大きく違います。数値微分では、微小量hを使いますが、極限は使いません。つまりタイトル図中のlim部分が無い式が、数値微分(差分)の定義式になります。

 差分計算のための微小量hは、ゼロに近いほど良いのですが、コンピュータでは表現できる数の範囲が決まっているので、小さすぎる数は扱えません。そこで適当な微小量hの与え方が、数値微分の計算精度に影響を与えます。関数の形が単純で、単調増加/単調減少する関数なら、ある程度小さなhで精度良く計算できます。しかし、三角関数のような周期関数では、少しずれただけで計算結果が変わってきます。数値微分では、適切なhを選ぶことが計算精度に直結します。

 ここでは二点間の差分式を使った数値微分の例を出しましたが、この他にも三点やそれ以上の点を使った差分公式も使われています。興味がある人は調べてみて下さい。

この記事が気に入ったらサポートをしてみませんか?