マクローリン展開の原理

スポンサーリンク

マクローリン展開

高校までの教科書には、公式の導き方が丁寧に載っているのに、大学の教科書に載っている公式には、ほとんど導き方が書いてありません。

マクローリン展開もその一つ。

大学では「関数は、ここに示してあるマクローリン展開の公式で展開することができます。例えば、sin xを展開してみると・・・になります。じゃ、ここまでがテスト範囲です。」程度で終わりでした。

なぜ分母に階乗が付くのか?なぜ、x=0の微分情報だけで、x0から離れたときの値を求めることができるのか?
そのようなことは、何一つ、僕の出身大学では教えてくれませんでした。

社会に出てから、特に不自由はしていませんが、このようなブログを書くとなると、厳密ではなくとも思考過程を自分なりに整理しておいた方がいいと思ったので、マクローリンさんになったつもりで考えてみました。

関数 y = f(x) は多次元式で近似できる

y = f \left( x \right) 型の式、つまり、xを決めるとyが決まるような関数なら多次元の式で近似できます。(円みたいに、xに対してyの値が2つ以上あるような曲線は無理です)

たとえば、2点を通る直線は、y = a x + bの形で示せます。問題ありませんね?

3点を通る曲線は、y = a x^2 + b x + cとして、

    \begin{eqnarray*} y_1 = a x_1^2 + b x_1 + c \\ y_2 = a x_2^2 + b x_2 + c \\ y_3 = a x_3^2 + b x_3 + c \end{eqnarray*}

を連立させれば、式が3つで、分からない数も3つ(a,\ b,\ c)の連立1次方程式になるので、厳密解が求まります。

よって、点の数が増えたとしても、その点の数と同じ次元の式を持って来れば、それらの点を全て通す曲線が引けます。(ここでは、正則とか難しいことは考えないこととします)

マクローリンさんはこんな感じで考えたのではないでしょうか?

多次元式でどのような形の関数でも表せることができることが分かりました。でも、関数の全体像が分からない状態で、その多次元式の係数をどのように決めたらよいでしょう?ただし、f \left( x \right)が無限回微分可能であることが分かっていて、しかも、なぜかx=0の時の値も分かっているものとします。

簡単のため、3次で考えることとしましょう。
まず、f \left( x \right)が次の3次関数で書けたとします。

(1)   \begin{equation*} f \left( x \right) = a x^3 + b x^2 + c x + d \end{equation*}

このとき、a,\ b,\ c,\ dを求めることを考えます。

まず、x=0を代入すれば、dが求まります。すなわち、

(2)   \begin{equation*} f \left( 0 \right) = d \end{equation*}

です。
(1)の両辺を微分します。'xでの微分と考えると、

(3)   \begin{equation*} f' \left( x \right) = 3 a x^2 + 2 b x + c \end{equation*}

となります。おやおや、f' \left( x \right)0を代入すればcが求まります。すなわち、

(4)   \begin{equation*} f' \left( 0 \right) = c \end{equation*}

です。

今度は(3)の両辺を微分します。

(5)   \begin{equation*} f'' \left( x \right) = 3 \cdot 2 a x + 2 b \end{equation*}

となります。おやおや、f'' \left( x \right)0を代入すれば、2 bが求まります。すなわち、

(6)   \begin{equation*} f'' \left( 0 \right) = 2 b \end{equation*}

よって、

(7)   \begin{equation*} b =\frac{f'' \left( 0 \right)}{2} =\frac{f'' \left( 0 \right)}{2 \cdot 1} =\frac{f'' \left( 0 \right)}{2!} \end{equation*}

なにか、少しマクローリン展開らしくなってきたと思いませんか?

さらに、(5)の両辺を微分します。

(8)   \begin{equation*} f''' \left( x \right) = 3 \cdot 2 \cdot 1 a = 3! a \end{equation*}

f''' \left( x \right)xに何を入れても3! aになります。もともとのf \left( x \right)が3次式ならf''' \left( x \right)は定数になりますが、他の関数を近似したのであれば左辺はxの関数になっていることでしょう。ただ、話の一貫性を持たせるため、ここでは、x=0を代入してaを求めます。

よって、

(9)   \begin{equation*} f''' \left( 0 \right) = 3! a \end{equation*}

すなわち、

(10)   \begin{equation*} a = \frac{f''' \left( 0 \right)}{3!} \end{equation*}

求まったa,\ b,\ c,\ dを(1)に代入します。

(11)   \begin{eqnarray*} f \left( x \right) &=& a x^3 + b x^2 + c x + d \\ &=& d + c x + b x^2 + a x^3 \\ &=& f \left( 0 \right) + f' \left( 0 \right) x + \frac{f'' \left( 0 \right) x^2}{2!}+ \frac{f''' \left( 0 \right) x^3}{3!} \end{eqnarray*}

ここで、0!=1とするとともに、1!=1であることなどを考慮すれば、

(12)   \begin{eqnarray*} f \left( x \right) &=& \frac{f \left( 0 \right) x^0}{0!} + \frac{f' \left( 0 \right) x^1}{1!} + \frac{f'' \left( 0 \right) x^2}{2!}+ \frac{f''' \left( 0 \right) x^3}{3!} \\ &=& \sum_{n=0}^{3} \frac{f^{(n)}\left( 0 \right) x^n}{n!} \end{eqnarray*}

となります。

まとめ

今回は、3次式で考えましたが、n\to\inftyで考えれば、マクローリン展開の定義、

    \begin{eqnarray*} f \left( x \right) &=& \sum_{n=0}^{\infty} \frac{f^{(n)} \left( 0 \right) x^n}{n!} \end{eqnarray*}

になります。

分母の階乗は、何度も微分をして次数を下げる過程で現れることが分かりました。
x=0の微分情報だけでx0から離れた場合のyの値が求まる理由は、多次元の式で展開できると仮定したためでした。

次の記事では、マクローリン展開を使って、オイラーの公式を求めます。

コメント

タイトルとURLをコピーしました