gpt4 book ai didi

r - 使用蒙特卡罗计算圆面积

转载 作者:行者123 更新时间:2023-12-04 08:57:06 25 4
gpt4 key购买 nike

我正在尝试编写一个函数 circle_MC ,它以半径长度和模拟次数 (N) 作为输入并返回由圆包围的区域。
为此,我创建了一个数字向量并将其更改为“1”,如果该点在圆内,即 ifelse 语句成立。
到目前为止我的代码:

circle_MC <- function(r, N)
{
inside <- numeric(N),#only zeroes

x_sim[i] <- runif(N, min = -r, max = r),
y_sim[i] <- runif(N, min = -r, max = r),
inside <- ifelse(x_sim^2[i] + y_sim^2[i] <= r, 1, 0),
area <- (sum(inside)/length(inside)*4)

return(area)
}
但是,它给了我错误消息“错误:在“}”中出现意外的“}”。
我对 R 很陌生,很想知道我的错误在哪里。

最佳答案

问题在于 ,在每次作业结束时。在这里,每个赋值都是一个单独的语句。不清楚i在哪里来自因为参数只有 'r' 和 'N'

circle_MC <- function(r, N)
{
inside <- numeric(N) #only zeroes removed ,

x_sim <- runif(N, min = -r, max = r) # removed ,
y_sim <- runif(N, min = -r, max = r) # removed ,
inside <- ifelse(x_sim^2 + y_sim^2 <= r, 1, 0) # removed ,
area <- (sum(inside)/length(inside)*4)

return(area)
}

关于r - 使用蒙特卡罗计算圆面积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63767340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com