Excel VBA 数学教室ではアフィリエイトプログラムを利用して商品を紹介しています。

【Excel】f(x)=x^n*exp(-x)のグラフ解析

この記事では、Excelf(x)=x^n*exp(-x) のグラフをプロットして様々な視点で解析します。

nが偶数のときだけ極値をとります

微積分を学び始めた段階では
 (1)f(x)=xexp(x)
のグラフを描けという問題は必ず出ます。積の微分公式を用いて
 f(x)=(1x)exp(x)
が得られますから
 f(1)=0
となることがわかります。前後の符号を調べると
 f(0)=1>0,f(2)=exp(2)<0
となって f(1)=1/e極大値 かつ最大値です。また、
 limx+f(x)=0limxf(x)=
となるので、おおよその概形はイメージできると思います。
 
Excel のグラフで確認してみましょう。
 
グラフf=xexp(-x)

イメージと合っていましたか? この記事ではさらに一般化して、
 (2)f(x)=xnexp(x)
という関数を扱いますが、まず先に n=2, 3 のグラフを見てみましょう。
 
グラフf=x^2exp(-x)

n=2 のときは極値は2つありますが、n=3 のときは1つだけです。それぞれの関数を別個に解析してもいいですが、ここは (2) を使ってより一般的な解析を試みます。微分して式を整理すると
 f(x)=xn1(nx)exp(x)
となります。f=0 となるのは x=0, n の 2 点ですね。δ という非常に小さな正数を示す記号を使って、この 2 点が極値であるかどうかを確認してみます。まず x=0 の前後の点を x=+δ, δ と表してみます。
 f(+δ)=δn1(nδ)exp(δ)>0
この関係は常に成立しますが、
 f(δ)=(δ)n1(n+δ)exp(δ)
については、n が偶数のとき f(δ)<0, n が奇数のとき f(δ)>0 となり、すなわち n が偶数のときのみ f(x) の符号が変わって f(x)x=0 で極値をとることがわかります。先ほどの 3 枚のグラフで確認しておいてください。同じように x=n の前後の点を n+δ, nδ と表すと
 f(n+δ)=(n+δ)n1(δ)exp(nδ)<0f(nδ)=(nδ)n1δexp(n+δ)>0
となり x=n の前後で f(x) の符号が変わって極値をとることがわかります。

グラフ全体を下に押し下げて平たくなる関数

ある1つの関数の性質を深く掘り下げていくと、他の色々な関数について知見を得られることがあるものです。f(x)=exp(x)/xn について n を変化させてグラフを描くと …
 
[Graph]f=exp(x)x^(-n)

このようになります。n の増加に応じて xn で割ることによる減衰効果が強くなり、グラフ全体を下に押し下げると同時に平たくなっていきますね。f(1)=3 ですから n の値にかかわらず (1, e) の点を通ることになります。また最小値も右下へずれていくことが見てとれます。微分して確認しておきましょう。
 f(x)=exxnf(x)=ex(xnnxn1)=[xnxn+1]ex
f(x)=0 となる点は x=n なので n1 ずつ増えると最小値を与える x 座標も 1 ずつ正方向へずれていきます。最小値は f(n)=exp(n)/nn で与えられます。

最小値 f(n)
 g(x)=exxx
という曲線上の離散的な点として表せます。その様子を図示したのが下図です。
 
[Graph]f=exp(x)[x^(-x)]
 
赤丸がとりうる最小値を表しています。n の増加と共に最小値は 0 に収束していく様子がわかりますね。また、xxexp(x) よりも発散の速い関数だということもわかります。

それでは y=xxy=ex を実際にグラフに並べて比較してみましょう。
 
[Graph]y=x^x

ちょうど x=e を境に両曲線の大小関係が逆転しているのがわかります。
y=xx は「底」も「指数」も同時に大きくなっていく関数なので、普通の指数関数に比べると値の増加は極めて大きいです。

xのn乗根を変数にもつ指数関数

指数関数に xn 乗根を組込んだ y=expxn という関数を調べてみましょう。n=2, 3, 4 のグラフを描いてみます。
 
y=expn√xグラフ

指数関数とはいっても、n=3 ではすでに直線 (y=x) と同程度の増加率しかありません。実際、n=2 から n=3 への変遷はグラフの性質を本質的に変えるもので、それは y を微分して
 y=1nx1/n1expxn
という導関数を調べるとより明らかになります。
 
エクセルy=expn√xの導関数

n=2 では y はある所から常に増加し続ける関数です。これは x よりも expx の効果のほうが大きいからです。しかし、n=3 では x2/3exp(x1/3) が拮抗して y はほぼ一定値をとります。つまり、y は直線のような関数となります。そして n=4 では x3/4exp(x1/4) の寄与を少しだけ上回って y は減少します。このとき y はその増加率を少しずつ減少させていきます。
 
このように、x が大きくなるにしたがって増加率を緩める関数として対数関数が思い浮かびます。そこで n=8 のグラフと 対数関数 y=logx+1.2 を比較してみます。
 
エクセルy=expn√xと対数関数比較

[40, 60] のあたりでグラフは重なります。具体的には x=50 で差分は δy=0.005 程度です。部分的にとはいえ、指数関数を使って対数関数のような曲線を作ることができるというのは、ちょっと面白いですね。

対称性を崩してみたり、三角関数を組込んでみたり

次は
 C(x)=expf(x)+expg(x)
という形の関数を扱います。まず最初に基本として f(x)=x, g(x)=x でグラフを描いてみると
 
カテナリー(懸垂線)グラフ
 
この曲線は 双曲線関数 の係数 1/2 を払った形、つまり
 y=2coshx=exp(x)+exp(x)
のグラフです。coshx をハイパボリック・コサインと呼びます。またこれは、カテナリー(懸垂線)と呼ばれる関数
 2y=exp(ax)+exp(ax)
において a=1 とおいたものでもあります。いずれにしても指数関数を重ね合わせた奇関数ですから、左右対称のグラフとなります。たとえば f(x)=x/2,g(x)=x としてみると …
 
対称性の崩れたカテナリーグラフ
このように奇関数ではなくなって対称性は崩れてしまいます。g(x) のほうが強く効くので、カテナリーを全体的に右下へ押し下げたような形になります。次に f(x)=cosx,g(x)=sinx としてみると …
 
指数関数の肩に三角関数グラフ

これは完全な周期関数です。expf(x)1 なので、C(x)2 となります。次は f(x)=x+cosx,g(x)=xsinx としてみます。
 
C=expf+expgグラフ

三角関数が効くのは原点付近だけで、x が十分に大きいところでは 2coshx に一致します。

エクセルや数学に関するコメントをお寄せください