我正在构建一个有偏见的相关随机游走,并且我已经设法构建了 RW,并将其偏向于西风运动。
问题:我需要在一侧(或所有)侧绑定步行。
当前代码是:
walk<-function(n.times){
plot(524058:542800,2799758:2818500,type="n",
xlab="Easting",ylab="Northing")#arena
y<-2815550 ##startY
x<-542800 #startX
N<-4000
E<-4000
points(x,y,pch=16,col="red",cex=1)
for (i in 1:n.times) {
yi <- sample(c(N,N/2,N/4,N/8,N/12,N/16,
0,-N,-N/2,-N/4,-N/8,-N/12,-N/16),1)
xi<-sample(c(E,E/12,E/16, 0,-E,-E/2,-E/4,-E/8,-E/12,-E/16),1)
lines(c(x,x+xi),c(y,y+yi),col="blue")
x<-x+xi
y<-y+yi
}
}
iterations<-125
walk(iterations)
到目前为止,我最接近的是使用
if(y>2818500 | y<2799758 | x>542800 | x<524058) break
如果它离开竞技场,它只会停止步行。