我正在尝试确定落在给定圆(半径 1)内的弹珠的数量,因为它们具有随机的 x 和 y 坐标。
我的总体目标是通过使用蒙特卡罗采样乘以 4(圆圈内的弹珠数)/(弹珠总数)来找到 pi 的近似值。
我打算让我的函数计算圆圈内的弹珠数量,但我无法理解它为什么不起作用。任何有关遵循此处功能的帮助将不胜感激。
如果我的上述帮助请求不清楚,请发表评论。
(define(monte-carlo-sampling n)
(let ((x (- (* 2 (random)) 1))
(y (- (* 2 (random)) 1)))
(cond((= 0 n)
* 4 (/ monte-carlo-sampling(+ n 1) n)
((> 1 n)
(cond((< 1 (sqrt(+ (square x) (square y))) (+ 1 (monte-carlo-sampling(- n 1)))))
((> 1 (sqrt(+ (square x) (square y))) (monte-carlo-sampling(- n 1))))
)))))