我尝试解决一个问题,计算哪些点落在
描述的区域中4(2x−1)^4+8(2y−1)^8< 1 + 2((2y − 1)^3)*(3x − 2)^2.
我还用 runif [0:1] 在 r 中生成一些随机数作为计数器,告诉该区域中有哪些点,但我不知道如何像这样选择它们
x = u(i)
y = u(i+1)
其中“u”是随机数
如何使用一些随机值生成 runif 作为向量
创建一个函数
f
来检查点是否在该区域内。该函数将返回一个逻辑向量。然后使用 runif
生成两个长度为 n
的向量并调用该函数。在下面的示例中,我通过管道连接到 mean
,以获取面积的估计值。
f <- function(x, y) 4*(2*x - 1)^4 + 8*(2*y - 1)^8 < 1 + 2*((2*y - 1)^3)*(3*x - 2)^2
n <- 1e3
set.seed(2024)
x <- runif(n)
y <- runif(n)
f(x, y) |> mean()
#> [1] 0.551
创建于 2024 年 10 月 10 日,使用 reprex v2.1.1