p <- 18/38 q <- 1-p n <- 100 c <- 50 m <- matrix(0, n+1, n+1) for (i in 2:n) { m[i,i-1] <- q m[i,i+1] <- p } # Absorbing barriers on both sides: m[1,1] <- 1 m[n+1,n+1] <- 1 x <- matrix(0, 1, n+1) x[1,c+1] <- 1 for (i in 1:2000) { x <- x %*% m plot((1:(n+1))[x>0], x[x>0], xlim=c(1,n+1), ylim=c(0,1), xlab="n", ylab="P(X=n)") }