a <- 3
m <- 5987
seed <- 1
simulation <- seed
for (i in 1:(10e5-1)) {
previous <- simulation[length(simulation)]
simulation <- c(simulation, (a * previous) %% m)
}
plot(simulation[1:500], type='o')
length(unique(simulation))
plot(table(simulation), xlim=c(1,100))
acf(simulation, lag.max=6000)
plot(simulation[1:100], simulation[51:150])
abline(lm(simulation[51:150] ~ simulation[1:100]), col='red')
cor(simulation[1:100], simulation[51:150])
prefab <- read.csv('prefabricatedRandomNumbers.csv', as.is=T)[,1]
acf(prefab)
b <- 3
c <- 5
k <- 10
a <- 4*c +1
m <- 2**k
seed <- 1
simulation <- seed
for (i in 1:(1e5-1)) {
previous <- simulation[length(simulation)]
simulation <- c(simulation, (a * previous + b) %% m)
}
acf(simulation)
Periodenlänge = m:
N <- length(simulation)
min(simulation[1:(N-m)] == simulation[(m+1):N])
X <- c(1, 3, 5, 7)
p <- c(0.2, 0.1, 0.3, 0.4)
u <- runif(1)
for (i in 1:4) {
if (u < sum(p[1:i])) break
}
print(u)
print(i)
print(X[i])