In [16]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import random
def generador(n, a, b, m):
seed = 7
print "Used parameters: "
print "a = "+str(a)+" b = "+str(b)+" m = "+str(m)
lastXn = 0
randomList = []
print "Random numbers generated: "
for i in range(n):
Xn = float((a*lastXn + b)% m)
#print Xn
lastXn = Xn
random = float(Xn/m)
#print random
randomList.append(random)
graficarHistograma(randomList,a,b,m)
def graficarHistograma(randomList,a,b,m):
plt.hist(randomList)
plt.title("Histograma: "+"a = "+str(a)+" b = "+str(b)+" m = "+str(m))
plt.xlabel("Valor")
plt.ylabel("Frecuencia")
fig = plt.gcf()
plt.show()
def main():
generador(1000,12,78,1935) #Caso inicial
generador(1000,1254,78,1935) #Incrementamos 'a'
generador(1000,12,7898,1935) #Incrementamos 'b'
generador(1000,12,78,9439) #Incrementamos 'm', cambiandolo por un numero primo cada vez mas grande
generador(1000,12,78,15485863)
generador(1000,12,78,179424673)
main()
In [ ]:
In [ ]:
In [ ]: