請選擇 進入手機版 | 繼續訪問電腦版

微剋多資訊

 找回密碼
 註冊

Login

搜索
回覆 0則 瀏覽 902篇

[碼源] AutoIt 蒙地卡羅法 求Pi 簡易教學

該用戶從未簽到

發表於 2012-11-8 15:21 | 顯示全部樓層 |閱讀模式
本帖最後由 rictirse 於 2012-11-8 15:27 編輯


[code=autoit]
#include <Timers.au3>
Dim $n = 30000;; RAND 產生亂數的次數
Dim $SUM;; 統計範圍值內次數

$starttime = _Timer_Init()
For $i = 1 To $n
        $x = Random ( 0, 1)
        $y = Random ( 0, 1)

        If ($x*$x + $y*$y) < 1 Then $SUM += 1;; 判斷 r點是否落在 1/4 圓內,如果範圍內sum +1
Next

Const $pi = 3.14159265358979;; 宣告 pi
$Sol = (4*$SUM)/ $n ;; 計算
$ERROR = Abs (1-($pi/$Sol));; 計算誤差值

MsgBox ( 0, "蒙地卡羅法求Pi", StringFormat ( "取樣次數 = %d\n計算時間 = %dms\n正確值 = %s\n計算值 = %s\n誤差值 = %s", $n, _Timer_Diff($starttime), $pi, $Sol, $ERROR))
[/code]

本帖子中包含更多資源

您需要 登入 才可以下載或查看,沒有帳號?註冊

x
您需要登入後才可以回帖 登入 | 註冊

本版積分規則

Discuz! X

© 2009-2017 Microduo

快速回覆 返回頂部 返回列表