Paseo aleatorio en el plano sin intersecciones

Un móvil se desplaza al azar en el plano sin cruzarse con la trayectoria seguida hasta ese momento.

#INICIO -------------------------
rm(list=ls(all=TRUE))

#Coordenadas del punto de partida del paseo aleatorio (PA)
PAx<-0;PAy<-0 

#Número máximo de movimientos aleatorios
n<-1000

#Magnitud de los movimientos
a<-0;b<-0

for(i in 1:n)

#Definimos el movimiento al azar
A <- sample(1:4,1)
  if(A==1){a<-a+1}
  if(A==2){a<-a-1}
  if(A==3){b<-b+1}
  if(A==4){b<-b-1}
 if(paste(a,b) %in% paste(PAx,PAy))
   {
    if(A==1){a<-a-1}
    if(A==2){a<-a+1}
    if(A==3){b<-b-1}
    if(A==4){b<-b+1}
   }
   else
   {PAx<-c(PAx,a);PAy<-c(PAy,b)}
}
  plot(PAx,PAy,xlab='',ylab='',type='l',pch=20)
  lines(PAx,PAy,col='blue',lwd=4)
#FIN -------------------------

No hay comentarios:

Publicar un comentario