マクローリン展開

グラフ作成ツール「gnuplot」を用いて、マクローリン展開(Maclaurin expansion)をグラフに描いてみた。
一般に、マクローリン展開は、

で表される。今回、近似の対象に用いた関数 y=f(x)(赤)
f(x)=exf(x)=cosxf(x)=sinxf(x)=coshxf(x)=sinhx
であるが、これに対し、いずれの関数のグラフも
第1項(緑)第2項(青)第3項(紫)第4項(水色)第5項(茶色)
の順に近似の精度が高くなっている事が理解できるだろう。
これらのグラフからは、マクローリン展開が水平方向への補正による、
「horizontal」な近似であるという印象を受ける。

GIFアニメーション版はこちら




f(x)exのマクローリン展開

f(x)exのマクローリン展開は、次式で表される。

上記の結果をグラフ作成ツール「gnuplot」を用いて、グラフ化する。
「gnuplot」を起動して、以下のコマンドを入力し、グラフを生成する。
(勿論、出力先のディレクトリは、各自の環境に応じて適宜変更する。)
set terminal png
set xrange[-5:5]
set yrange[-5:5]
set xtics 0.5
set ytics 0.5
set grid
plot exp(x)
replot 1
replot 1+x
replot 1+x+x**2/2!
replot 1+x+x**2/2!+x**3/3!
set output 'c:\temp\maclaurinofexp.png'
replot 1+x+x**2/2!+x**3/3!+x**4/4!
exit
この方法により生成したグラフを以下に示す。




f(x)=cosxのマクローリン展開

f(x)=cosxのマクローリン展開は、次式で表される。

上記の結果をグラフ作成ツール「gnuplot」を用いて、グラフ化する。
「gnuplot」を起動して、以下のコマンドを入力し、グラフを生成する。
(勿論、出力先のディレクトリは、各自の環境に応じて適宜変更する。)
set terminal png
set xrange[-5:5]
set yrange[-5:5]
set xtics 0.5
set ytics 0.5
set grid
plot cos(x)
replot 1
replot 1-x**2/2!
replot 1-x**2/2!+x**4/4!
replot 1-x**2/2!+x**4/4!-x**6/6!
set output 'c:\temp\maclaurinofcos.png'
replot 1-x**2/2!+x**4/4!-x**6/6!+x**8/8!
exit
この方法により生成したグラフを以下に示す。
f(x)は偶数次の項のみで近似できることから、
cosxが偶関数であることが分かるだろう。




f(x)=sinxのマクローリン展開

f(x)=sinxのマクローリン展開は、次式で表される。

上記の結果をグラフ作成ツール「gnuplot」を用いて、グラフ化する。
「gnuplot」を起動して、以下のコマンドを入力し、グラフを生成する。
(勿論、出力先のディレクトリは、各自の環境に応じて適宜変更する。)
set terminal png
set xrange[-5:5]
set yrange[-5:5]
set xtics 0.5
set ytics 0.5
set grid
plot sin(x)
replot x
replot x-x**3/3!
replot x-x**3/3!+x**5/5!
replot x-x**3/3!+x**5/5!-x**7/7!
set output 'c:\temp\maclaurinofsin.png'
replot x-x**3/3!+x**5/5!-x**7/7!+x**9/9!
exit
この方法により生成したグラフを以下に示す。
f(x)は奇数次の項のみで近似できることから、
sinxが奇関数であることが分かるだろう。




f(x)=coshxのマクローリン展開

f(x)=coshxのマクローリン展開は、次式で表される。

上記の結果をグラフ作成ツール「gnuplot」を用いて、グラフ化する。
「gnuplot」を起動して、以下のコマンドを入力し、グラフを生成する。
(勿論、出力先のディレクトリは、各自の環境に応じて適宜変更する。)
set terminal png
set xrange[-10:10]
set yrange[-10:210]
set xtics 1
set ytics 10
set grid
plot cosh(x)
replot 1
replot 1+x**2/2!
replot 1+x**2/2!+x**4/4!
replot 1+x**2/2!+x**4/4!+x**6/6!
set output 'c:\temp\maclaurinofcosh.png'
replot 1+x**2/2!+x**4/4!+x**6/6!+x**8/8!
exit
この方法により生成したグラフを以下に示す。
やはりf(x)は偶数次の項のみで近似できることから、
coshxも偶関数であることが分かるだろう。




f(x)=sinhxのマクローリン展開

f(x)=sinhxのマクローリン展開は、次式で表される。

上記の結果をグラフ作成ツール「gnuplot」を用いて、グラフ化する。
「gnuplot」を起動して、以下のコマンドを入力し、グラフを生成する。
(勿論、出力先のディレクトリは、各自の環境に応じて適宜変更する。)
set terminal png
set xrange[-10:10]
set yrange[-500:500]
set xtics 1
set ytics 50
set grid
plot sinh(x)
replot x
replot x+x**3/3!
replot x+x**3/3!+x**5/5!
replot x+x**3/3!+x**5/5!+x**7/7!
set output 'c:\temp\maclaurinofsinh.png'
replot x+x**3/3!+x**5/5!+x**7/7!+x**9/9!
exit
この方法により生成したグラフを以下に示す。
やはりf(x)は奇数次の項のみで近似できることから、
sinhxも奇関数であることが分かるだろう。


Shadow Academy トップへ戻る

inserted by FC2 system