関数の多項式近似
ある関数 $y=f(x)$ を $x=0$ 付近で次のような多項式で近似する方法を考えます。
\[f(x)\simeq a_0+a_1x+a_2x^2+a_3x^3+\: \cdots \:+a_nx^n \tag{A}\]
まず $x=0$ で $f(0)$ に一致していないと話にならないので、$a_0=f(0)$ というように定数項が定まります。ついでに 1 階微分したときの $x=0$ の値も一致させようと考えます。
\[f^{\prime}(x)\simeq a_1+2a_2x+3a_3x^2+\: \cdots\]
ですから、2 つめの係数は $a_1=f^{\prime}(0)$ と決まります。さらに欲張って 2 階微分したときの $x=0$ の値も一致させようと考えて
\[f^{\prime\prime}(x)\simeq 2a_2+2 \cdot 3a_3x+\: \cdots\]
より $a_2=f^{\prime\prime}(0)/2$ となります。以下同様にして
\[a_3=\frac{f^{(3)}(0)}{3!},\quad a_4=\frac{f^{(4)}(0)}{4!},\quad \cdots,\quad a_n=\frac{f^{(n)}(0)}{n!}\]
が定まります。すなわち関数 $f(x)$ は
\[f(x)\simeq f(0)+f^{\prime}(0)x+\frac{f^{\prime\prime}(0)}{2!}x^2+\: \cdots \:+\frac{f^{(n)}(0)}{n!}x^n \tag{B}\]
のように近似されます。以下でより厳密な方法で証明します。
マクローリン展開
近似式には誤差がつきものですから、(B) を誤差 $R_{n+1}$ を含んだ形で書き換えます。
\[f(x)\simeq f(0)+f^{\prime}(0)x+\frac{f^{\prime\prime}(0)}{2!}x^2+\: \cdots \:+\frac{f^{(n)}(0)}{n!}x^n+R_{n+1}\]
以降の議論はかなり技巧的になります。まず誤差は
\[R_{n+1}=Ax^{n+1}\]
のような形になると予想します(これは自然な予想といえます)。そして(あとで平均値の定理が使えるように)$g(0)=g(x)$ を満たすような $k$ についての関数 $g(k)$ を次のように定義します。
\[\begin{align*}g(k)=&\:f(x)-f(k)-f^{\prime}(k)(x-k)-\frac{f^{\prime\prime}(k)}{2!}(x-k)^2-\:\cdots\\[6pt]&\:-\frac{f^{(n)}(0)}{n!}(x-k)^n-A(x-k)^{n+1}\end{align*}\]
$x \gt 0$ とすると、$g(k)$ は区間 $[0,\:x]$ において微分可能なので、平均値の定理 から
\[\frac{g(x)-g(0)}{x}=g^{\prime}(c)\]
となる点 $c$ が区間 $(0,\:x)$ に少なくとも 1 つは存在します。$g(0)=g(x)$ なので左辺は 0 です。つまり $g^{\prime}(c)=0$ となる点 $c$ が存在するということです。$g(k)$ を微分して整理すると
\[g^{\prime}(k)=\left[ A- \frac{f^{(n+1)}(k)}{(n+1)!} \right] (n+1)(x-k)^m\]
という式が得られます。$g^{\prime}(c)=0$ なので
\[A=\frac{f^{(n+1)}(c)}{(n+1)!}\]
と定まります。すなわち誤差は
\[R_{n+1}=\frac{f^{(n+1)}(c)}{(n+1)!}x^{n+1} \quad (0 \lt c \lt x)\]
であることがわかりました。$c=\theta x$ と置き換えると
\[R_{n+1}=\frac{f^{(n+1)}(\theta x)}{(n+1)!}x^{n+1} \quad (0 \lt \theta \lt 1) \tag{C}\]
と表せます。この誤差をラグランジュ型剰余項とよびます。また剰余項を含んだ展開式
\[f(x)\simeq f(0)+f^{\prime}(0)x+\frac{f^{\prime\prime}(0)}{2!}x^2+\: \cdots \:+\frac{f^{(n)}(0)}{n!}x^n+R_{n+1} \tag{D}\]
のことをマクローリン展開 といいます。最も簡単な例として、指数関数 $f(x)=e^x$ をマクローリン展開してみると
\[e^x=1+x+\frac{x^2}{2!}+\: \cdots \:+\frac{x^n(0)}{n!}+R_{n+1}\]
となり、剰余項は
\[\frac{e^{\theta x}x^{n+1}(c)}{(n+1)!}\]
と表せます。以下によく使われる関数のマクローリン展開を載せておきます。
\[\begin{align*}&e^x=\sum_{n}\frac{x^n}{n!}+\frac{e^{\theta x}x^{n+1}(c)}{(n+1)!}\\[6pt]&\sin x=\sum_{n}\frac{(-1)^{n-1}x^{2n-1}}{(2n-1)!}+\frac{(-1)^nx^{2n+1}}{(2n+1)!}\cos \theta x\\[6pt]&\cos x=\sum_{n}\frac{(-1)^nx^{2n}}{(2n)!}+\frac{(-1)^nx^{2n+2}}{(2n+2)!}\cos \theta x\\[6pt]&\log(1+x)=\sum_{n}\frac{(-1)^n x^n}{n}+\frac{(-1)^n x^{n+1}}{n+1}\left( \frac{1}{1+\theta x} \right) ^{n+1}\\[6pt]&(1+x)^k=\sum_{n}\frac{k(k-1)\cdots (k-n+1)x^n}{n!}\\[6pt]&\qquad \qquad+\frac{k(k-1)\cdots(k-n)}{(n+1)!}(1+\theta x)^{k-n-1}x^{n+1}\end{align*}\]
マクローリン級数
マクローリン展開において無限の項数をとったときに剰余項 $R_{n+1}$ が 0 に収束するならば、関数を次のように無限級数で表すことができます。
\[f(x)=f(0)+f^{\prime}(0)x+\frac{f^{\prime\prime}(0)}{2!}x^2+\: \cdots \:+\frac{f^{(n)}(0)}{n!}x^n+\: \cdots \:+ \tag{E}\]
このような級数のことをマクローリン級数とよびます。この級数展開を使うときは $R_{n+1}$ が 0 に収束する $x$ の範囲に注意しなくてはなりません。以下によく使われる関数のマクローリン級数を載せておきます。
\[\begin{align*}&e^x=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\: \cdots\\[6pt]&\sin x=x-\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+\: \cdots\\[6pt]&\cos x=1-\frac{x^2}{2!}+\frac{x^4}{4!}-\frac{x^6}{6!}+\: \cdots\\[6pt]&\tan x=x+\frac{x^3}{3}+\frac{2x^5}{15}+\frac{17x^7}{315}+\: \cdots \quad(-\pi/2 \lt x \lt \pi/2)\\[6pt]&\log (a+x)=\log a+\frac{x}{a}-\frac{x^2}{2a^2}+\frac{x^3}{3a^2}-\:\cdots \quad(-a \lt x \lt a)\end{align*}\]
() に級数が収束する $x$ の範囲が示されています。何も書かれていなければ、すべての $x$ で収束します。
エクセルや数学に関するコメントをお寄せください