我有兴趣找到暗灰色区域的区域,在r中我使用了spatstat包的区域功能但是非常耗时,因为我需要运行mh算法,我已经读过我可以用monte carlo计算这个区域方法,但我不知道如何进行,请有人可以帮助我吗?
一些代码示例来自spatstat书中的情节和区域:
source("figurelayout.R")
source("startup.R")
llibrary(spatstat)
requireversion(spatstat, "1.41-1.073")
W <- as.owin(swedishpines)
x <- c(28,29,55,60,66)
y <- c(70,38,32,72,59)
X <- ppp(x=x,y=y, window = W)
u <- list(x=48,y=50)
u <- as.ppp(u, W)
rad <- 14
Xplusr <- dilation(X, rad) #
uplusr <- disc(rad, u) #bola de radio rad con centro en u
ovlap <- intersect.owin(uplusr, Xplusr)
B<-setminus.owin( disc( rad, c(u$x, u$y) ), Xplusr)
AIdemo <- layered(W,
ovlap,
Xplusr,
uplusr,
X,
u,B)
layerplotargs(AIdemo) <- list(list(),
list(col="darkgrey", border=NA),
list(lwd=2),
list(lwd=2, lty=2),
list(pch=16),
list(pch=3),
list(col="red", border=NA))
###################################################
### code chunk number 98: Unit.Rnw:3-5
###################################################
newplot(6, 0.7)
setmargins(0)
###################################################
### code chunk number 99: 13gibbs.Rnw:3214-3215
###################################################
plot(AIdemo, main="")
plot(setminus.owin( disc( rad, c(u$x, u$y) ), Xplusr))
area<-area(B)
Run Code Online (Sandbox Code Playgroud)
你问的是一个简单的蒙特卡罗应用程序.您需要在整个区域绘制统一样本,并检查您所在区域内所选点的比例.
要检查某个点是否位于该区域内,您可以使用圆周方程的中心半径形式描述您的区域(您的区域只是一个圆圈).
点击链接:
http://geekyisawesome.blogspot.com.au/2013/03/montecarlo-method-of-finding-area-of.html
| 归档时间: |
|
| 查看次数: |
193 次 |
| 最近记录: |