SSブログ

今日のアニソン、「ひそねとまそたん」から『少女はあの空を渡る』 [今日のアニソン]

今日のアニソンは、アニメ「ひそねとまそたん」から『少女はあの空を渡る』です。


少女が自衛隊所属のドラゴンに乗るというぶっ飛んだ内容のアニメだにゃ。


ED曲はフランス語の曲のようだけれど、フランス語まったく聞こえないケロ。フランス語とは別の未知の言語に聞こえるのはネムネコだけケロか?




nice!(2)  コメント(0) 

ネイピア数e=「ふなひとはちふたはち」の100桁計算に挑む [数値解析]

ネイピア数e=「ふなひとはちふたはち」の100桁計算に挑む

 

§1 ネイピア数eの100桁の近似値を求める

 

ネイピア数eの近似値は、つぎのマクローリン展開を利用することによって、簡単に計算できる。

  

したがって、n項で打ち切った場合の誤差は、

  

である。

0<θ<1なので、であるが、これをと考えると、n項で計算を打ち切った誤差は、

  

と見積もることができる。

したがって、小数点以下10桁まで正しく計算しようとすると、少なくともn=13項まで計算しなければならない。

理論上は、nを大きくすればするほどネイピア数eの真実の値に近づくはずだが、コンピュータは有限桁でしか計算をすることができないので、前回、表計算ソフトによる計算値を示したように、n≧16で計算してもこれ以上、精度の高いネイピア数eの近似値を求めることができない。

 

ということで、十進数1000桁の計算が可能な十進BASICを用いて、ネイピア数eの100桁までの近似値を求めてみることにした。

そして、これがその計算結果だにゃ。

 

e=2.71828 18284 59045 23536 02874 71352 66249 77572 47093  69995

    95749 66967 62772 40766 30353 54759 45713 82178  52516 64274

 

ウィキペディアにあるネイピア数eの1000桁表示の近似値と比較すればわかるけれど、100桁、正しく計算できているにゃ。

 

そして、この計算に使用したプログラムは、次の通り。

 

REM ネイピア数e100桁まで計算

OPTION ARITHMETIC DECIMAL_HIGH

 

LET N=80

LET A=1

LET S=1

FOR K=1 TO N

LET A=A/K

LET S = S+A

NEXT K

 

LET FMT$="#."&REPEAT$("#",100)

PRINT USING FMT$: s

END

 

こんな簡単なプログラムでこれほどの高精度計算ができてしまうのだから驚き。

十進BASICというソフトは、本当に、凄いよね~。

 

 

§2 ライプニッツの級数(グレゴリーの公式)を用いて円周率πの近似値を求める

 

関数は次のようにマクローリン展開できる。

  

また、

  

だから、

  

になる。

そして、(1)はtan xの逆関数tan⁻¹のマクローリン展開になる。

 

さらに、x=1のとき、(1)の級数

  

は収束するので、

  

となる。

この級数をライプニッツ級数グレゴリーの公式という。

 

このライプニッツ級数を使って、円周率πの近似値を求めようじゃないか。

 

表計算ソフトを使って求めようと一瞬考えたけれど、この級数の収束はとんでもなく遅いので、考え直し、十進BASICを使って、πの近似値を求めることにする。

 




計算回数と誤差を見ると、nを10倍にすると誤差が1/10になっていることがわかる。。つまり、この級数は1次収束なので収束がとんでもなく遅い。

このことは、円周率の次の桁の数字の正確な値を求めるための計算量は、およそ、その10倍の計算量になるということを意味する。さらに、1桁下の値を求めようとすると、さらにその10倍の計算量が必要で、2桁下の正確な値を求めるためには約100倍の計算量になってしまう。

そのくせ、n=10万にとっても小数点5桁目の値を正しく計算できない。

アルキメデスが紀元前3世紀に導いた

  

程度の精度を得るためには、n1000以上にする必要があるのだから、この計算法は、とてもじゃないけれど、採用できない。

 

なお、この計算に使用したプログラムは次の通り。

 

REM ライプニッツの級数を用いて円周率πの近似値を求める

INPUT n

LET t=1

LET s=0

FOR k=1 TO n

LET a=t/(2*k-1)

LET s=s+a

LET t=-1*t

NEXT k

PRINT "π(の近似値):",4*S

END

 

 


nice!(1)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。