R语言蒙特卡洛算法计算圆周率
时间: 2023-11-18 08:55:21 浏览: 136
蒙特卡洛算法是一种基于随机抽样的统计方法,可以用来估算圆周率。在R语言中,可以使用以下代码实现蒙特卡洛算法计算圆周率:
```
# 设置随机数种子
set.seed(123)
# 模拟次数
n <- 100000
# 生成随机点
x <- runif(n, min = -1, max = 1)
y <- runif(n, min = -1, max = 1)
# 计算点到圆心的距离
r <- sqrt(x^2 + y^2)
# 统计落在圆内的点数
in_circle <- sum(r <= 1)
# 计算圆周率
pi_estimate <- 4 * in_circle / n
# 输出结果
print(pi_estimate)
```
这段代码首先设置了随机数种子,然后生成了n个在[-1,1]范围内的随机点。接着计算每个点到圆心的距离,统计落在圆内的点数,并根据公式4 * (落在圆内的点数 / 总点数) 估算圆周率。最后输出结果即可。
阅读全文