« オジギソウ | トップページ | 花々 »

2014年10月30日 (木)

VBAによる建部のπの式の計算

http://yamada-kuebiko.cocolog-nifty.com/blog/2014/10/post-01b2.html
2014年10月28日 (火)
建部賢弘のπの計算公式

http://yamada-kuebiko.cocolog-nifty.com/blog/2014/10/http.html
2014年10月29日 (水)
ラマヌジャンのπの式
------------------------------------------------------
★VBAによる計算
やはり、ここはプログラミング教室ではないので、プログラムの提示と結果のみに留めます。
エクセルを活用するとこんなことができるのか、と感じていただければうれしいです。
自分でもやってみようという方は、入門書もいっぱい出ていますから、勉強してください。
私自身は古いパソコンユーザーですので、言語はすべて自学自習です。BASIC,C,PASCAL,Java,LOGO,AWKなどいろいろ遊んできました。

★では、建部の式をVBAで書いてみます。
制御構造としてはFor~Nextしか使ってないですから、単純なものです。
エクセルの表のセルに式を書き込んだ、あの考え方をそのままプログラムにしただけです。
--------------------
Sub Tatebe()

Const PI = 3.14159265354979
Dim i As Long, j As Long
Dim t As Double, p As Double

For i = 1 To 15
   t = 1
   For j = 1 To i
      Let t = t + (Fact(j) ^ 2) / ((Fact(2 * j + 2) / 2))
   Next j
   p = 3 * Sqr(t)
   Cells(i, 1).Value = p
   Cells(i, 2).Value = PI - p
Next i
End Sub

Function Fact(n As Long) As Double
    Dim i As Long, p As Double

    p = 1
    For i = 2 To n
        p = p * i
    Next i
    Fact = p
End Function
--------------------
これを走らせた結果は下のようになりました。
右はπとの差です。
差がどんどん小さくなります。こんな風にしてπに近づいていくことが観察できますね。
--------------------
3.122498999199200   0.019093654
3.138470965295040   0.003121688
3.141030313220720   0.00056234
3.141485090117180   0.000107563
3.141571214690140   2.14389E-05
3.141588250040260   4.40351E-06
3.141591728079550   9.2547E-07
3.141592455512120   1.98038E-07
3.141592610570090   4.29797E-08
3.141592644132420   9.41737E-09
3.141592651489390   2.0604E-09
3.141592653119230   4.30556E-10
3.141592653483580   6.62106E-11
3.141592653565660   -1.58713E-11
3.141592653584280   -3.44884E-11
--------------------

« オジギソウ | トップページ | 花々 »

理科おじさん」カテゴリの記事

コメント

この記事へのコメントは終了しました。

2024年5月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
サイト内検索
ココログ最強検索 by 暴想
無料ブログはココログ