忍者ブログ
理系の若者が思ったことを書くブログです。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



例えば、図のように1辺が1の正方形の中に半径1、
中心角90°の扇形が接している状況を考えます。

この扇形の面積と正方形の面積の比は、いうまでもなく
1×1×π×90/360 : 1×1 = π/4 : 1になるはずです。

そこで、図の黒い点のように正方形内部に任意の座標(x,y)をとることを考えます。
この任意の座標(x,y)が円の中に存在する確率はどうなると思いますか?

実は、(x,y)が完全にランダムであれば、π/4の確率で円内部に存在するでしょう。

そこで、任意の点(x,y)を統計的にたくさんとり、
円内部の点の数を数えれば、π/4を計算することが可能です。

このような方法をモンテカルロ法といいます。
実際のモンテカルロ法のプログラムを下記に記します。

Sub main()

Dim X, Y, D As Single
Dim i, counter As Long
Dim ob1 As Object

Set ob1 = Application.ThisWorkbook.Worksheets("Sheet1")

Randomize

counter = 0

For i = 1 To 10000000

X = Rnd
Y = Rnd
D = X ^ 2 + Y ^ 2

If D < 1 Then
counter = counter + 1
End If

Next i

ob1.Cells(1, 1).Value = "円周率"
ob1.Cells(1, 2).Value = counter / i * 4

End Sub


計算結果⇒3.14132568586743

10000000点レベルで非常に長い時間計算してもこんな精度ですが、
モンテカルロ法は円の面積以外にも応用できますので、
積分の方法として知っておくには有意義でしょう。

拍手[1回]

PR
Comment
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
[27]  [26]  [25]  [24]  [23]  [22]  [21]  [20]  [19]  [18]  [17
カレンダー
04 2024/05 06
S M T W T F S
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
フリーエリア
最新CM
[10/02 武市]
[09/15 朧月]
[09/08 トトロママ]
[08/22 トトロママ]
[08/17 トトロママ]
プロフィール
HN:
No Name Ninja
性別:
非公開
バーコード
ブログ内検索
P R
アクセス解析
カウンター
コガネモチ
忍者ブログ [PR]