Scilabでは立ち上がったWindowサイズに応じてページサイズの出力が出る度にページコントロールで
[Continue display? n (no) to stop, any other key to continue]
のようなプロンプトを出して来ますが、面倒なのでこれを
lines(0)
で切ります。プログラムは下記のようにしました。(プログラムはScilabのメニューのApplications→Editorでエディターを開いて打ち込み、EditorのメニューのExecute→Load Into Scilabで実行します。)
lines(0)
maxc=100000000
count = 0;
for i = 1:maxc
x=rand(1);
y=rand(1);
if sqrt(x^2+y^2) <= 1.0 then
count = count + 1;
end
if modulo(i,1000000) == 0 then
i
pai=4*count/i
end
end
count
pai=4*count/maxc
この乱数の精度がよくわかりませんが、実行結果です。
回数 | Πの近似値 |
---|---|
10,000,000 | 3.1413716 |
20,000,000 | 3.142014 |
30,000,000 | 3.1417497 |
40,000,000 | 3.1418244 |
50,000,000 | 3.141764 |
60,000,000 | 3.1417499 |
70,000,000 | 3.1417391 |
80,000,000 | 3.1416907 |
90,000,000 | 3.1416595 |
100,000,000 | 3.1416488 |
1億回計算させても小数点以下4桁目からずれています(^^; Core2Duo 1GHz メモリ2GBのノートPCで3時間くらいかかりました(^^;
0 件のコメント:
コメントを投稿