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()


Used parameters: 
a = 12 b = 78 m = 1935
Random numbers generated: 
Used parameters: 
a = 1254 b = 78 m = 1935
Random numbers generated: 
Used parameters: 
a = 12 b = 7898 m = 1935
Random numbers generated: 
Used parameters: 
a = 12 b = 78 m = 9439
Random numbers generated: 
Used parameters: 
a = 12 b = 78 m = 15485863
Random numbers generated: 
Used parameters: 
a = 12 b = 78 m = 179424673
Random numbers generated: 

In [ ]:


In [ ]:


In [ ]: