|
マクローリン展開の高速近似値計算への応用
1、十進法BASICによるプログラム
REM *** 逆行列で高速マクローリン展開
DIM a(3,3),b(3,1),c(3,1),d(3,3)
DEF f(x)=EXP(x)
LET x=0.0001
LET a(1,1)=x
LET a(1,2)=x^2
LET a(1,3)=x^3
LET a(2,1)=2*x
LET a(2,2)=4*x^2
LET a(2,3)=8*x^3
LET a(3,1)=3*x
LET a(3,2)=9*x^2
LET a(3,3)=27*x^3
MAT d=INV(a)
LET e=f(0)
LET c(1,1)=f(x)-e
LET c(2,1)=f(2*x)-e
LET c(3,1)=f(3*x)-e
MAT b=d*c
PRINT b(1,1)
PRINT b(2,1)
PRINT b(3,1)
END
2、理論
マクローリン展開の公式より
f(x)=a(0)+a(1)x+a(2)x^2+a(3)x^3+・・・・であるから。
x≒0に対して、解a(m)持つ連立方程式
f(nx)=a(0)+a(1)(nx)+a(2)(nx)^2+a(3)(nx)^3
を解くとマクロリン展開の近似値が求まる。
3、結果
f(x)=e^xのマクロリン展開を行列の逆行列を用いて計算した。
a(1)=0.999999999998332
a(2)=0.50000001
a(3)=0.166666766681668 を得るこれは真値
a(1)=1
a(2)=1/2=0.5
a(3)=1/6=0.1666・・・
に近い値となっている。
4、発展課題(自分に対して。。。。)
これをガウス・ジョルダン法により計算せよ!
|
|