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
--------------------
「理科おじさん」カテゴリの記事
- 化学の日(2022.10.26)
- 秒速→時速(2022.09.01)
- 風速75メートル(2022.08.31)
- 「ウクライナで生まれた科学者たち」(2022.05.31)
- 反射光(2022.05.09)
この記事へのコメントは終了しました。
コメント