r - 使用 MC 方法求整数值
问题描述
我有一个名为“Monthe-Carlo 方法”的主题的作业,但我被一项任务困住了。
任务如下:使用 MC 方法求积分的近似值(见下图),其中 D 是面积 [0 到无穷大)x [0 到无穷大)x [0 到无穷大)。此外,找到概率 0,99 的误差值。
到目前为止,我所做的是在下面的代码中。
我的主要问题是……我应该为生成的值选择哪种分布?它背后的核心逻辑是什么?
目前我只使用带有参数 (0,1) 的普通正态分布来获得一些初始结果,但正如结果所示,误差值非常大,因此它不是最好的解决方案。
提前致谢!
n <- 100000
alfa <- 0.01 # 1-0.99
# võtame generaatori preagu normaaljaotusest, sest integraalfunktsiooni kuju on üsnagi sarnane
# normaaljaotuse tihedusfunktsioonile
# gen <- function(n){
# return(matrix(runif(3*n, 0, Inf),ncol=3))
# }
gen <- function(n){
return(matrix(rnorm(3*n, 0, 1),ncol=3))
}
g <- function(x){
#tihedus <- dunif(x[,1],0,Inf)*dunif(x[,2],0,Inf)*dunif(x[,3],0,Inf)
tihedus <- rnorm(x[,1],0,1)*rnorm(x[,2],0,1)*rnorm(x[,3],0,1)
return( (x[,1]+x[,2])*exp(-(x[,1]+x[,2]+2*x[,3]))/(x[,1]^2+x[,2]+x[,3]+1) / tihedus*((x[,1]>=0) + (x[,2]>=0) + (x[,3]>=0)) )
}
MC(gen, g, n, alfa)
解决方案
推荐阅读
- html - XPath:从最近的父节点中查找节点
- android - 为什么在 MaterialCardView 中设置 shapeAppearanceModel 会停止子剪辑?
- linux - 从 zip 文件中提取 200 行第一行并将此文件创建到不同的文件夹中
- git - 如何通过 git diff 命令仅获取已删除的行?
- c# - PDF 未下载 MVC dotnet core 3.1“无法下载”错误
- javascript - Navigator 中的“共享链接”在 Messenger 上不起作用
- c# - 在 docker 容器 C# App 之外连接被拒绝
- powershell - 带有 7zip 输出的 Powershell 调用命令
- python-3.x - 运行“make html”后,Sphinx Docs 不呈现样式/CSS
- c++ - 在源文件和头文件中包含指令顺序