使用蒙特卡罗方法查找区域的区域

LFR*_*FRC 0 spatial

我有兴趣找到暗灰色区域的区域,在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)

Sma*_*ess 5

你问的是一个简单的蒙特卡罗应用程序.您需要在整个区域绘制统一样本,并检查您所在区域内所选点的比例.

要检查某个点是否位于该区域内,您可以使用圆周方程的中心半径形式描述您的区域(您的区域只是一个圆圈).

点击链接:

http://geekyisawesome.blogspot.com.au/2013/03/montecarlo-method-of-finding-area-of.html

[1]:https://i.stack.imgur.com/VKS