文章

顯示從 3月, 2022 起發佈的文章

淺釋"蒙地卡羅"算法:用"亂數"找π值

圖片
叫"蒙地卡羅"的原因,是因為似賭場:在一段長時間內,賭局的結果應趨向預期的機會率。 例如賭大小,玩一百萬局的話,大與小應趨向各佔50%。 * * * * * 來求Pi(π),在第一象限(右上,X, Y 均為正數)隨機選四個點,可能得到下圖的結果。 其比例:           圓內的點數  除以  整個四方形的點數       =      3/4 所以,整個圓形便是乘四:  3/4 x 4 = 3 我們知道 π 是 3.14... 結果誤差只有0.14..,看來不錯。如果我們隨機選四十點、四千點、四千萬點,將得出更準確數字。 那問題來了,怎樣判定在圓內(綠色)還是圓外(紅色)? 用亂數選出 x 與 y,算出與圓心距離,如果少過或等於半徑,就是圓內了 。                     __________ 距離 = √ (x^2 + y^2) 用 javascript 程式 展示 function inCircle(x, y) {     const  radius = 1     let distance =  Math.sqrt(x * x + y * y)     return (distance <= radius)  } var inside = 0 const total = 1e6 for (let i = 0;  i < total; i++ ) {     x = Math.random()     y = Math.random()     if (inCircle(x, y))          inside ++ } pi = (inside / total) * 4 console.log('Calculated Pi,...