如果用r语言,代码要怎么写?
时间: 2024-11-11 18:40:02 浏览: 12
生信分析论文套路R语言代码
5星 · 资源好评率100%
在R语言中,实现蒲丰投针试验求圆周率π也非常简单,你可以使用`runif()`函数生成随机数来模拟针的投掷。下面是一个基本的R代码示例:
```R
set.seed(123) # 设置随机种子以便复现结果
# 定义函数计算蒙特卡洛估计的π
pi_monte_carlo <- function(trials) {
rectangle_width <- 2
rectangle_height <- 1
circle_area <- pi * (rectangle_width / 2)^2
inside <- sum(runif(trials, min = 0, max = rectangle_width)^2 + runif(trials, min = 0, max = rectangle_height)^2 <= circle_area)
pi_estimate <- 4 * inside / trials - 1
return(pi_estimate)
}
# 指定不同的试验次数
trials <- c(1000, 5000, 10000, 50000)
pi_results <- sapply(trials, pi_monte_carlo)
# 创建图形
plot(trials, pi_results, type="b", pch=19, xlab="Trials", ylab="Estimated Pi")
lines(smooth.spline(trials, pi_results), col="red") # 添加光滑曲线
legend("topright", legend = paste0("Trials: ", trials), lty = "solid", col = "black")
阅读全文