##Generador de Tausworthe p=7 semilla=rep(1,p) ############################################# CONVERSOR<-function(binario){ u=0 for(j in 1:length(binario)){ u<-u+binario[j]*2^(-j)} u} ############################################# Tausworthe<-function(n,p,q,l,d,sem){ u<-numeric(n) b<-numeric(n*d) b[1:p]<-sem for(i in (p+1):(n*d+p)){ b[i]=(b[i-p]+b[i-q])%%2 #p es mayor que q } b<-b[-c(1:p)] # número binario sin la semilla for(i in 1:n){ numerobinario<-b[(d*i+1):(d*i+l)] u[i]<-CONVERSOR(numerobinario) } salida<-list("binarios"=b,"numeros"=u) return(salida) } ############################################## #Ejemplo 1: Tausworthe(10000,7,1,3,3,1)->random random$numeros->u plot(u[-length(u)],u[-1],pch=20,cex=1) #Ejemplo 2: Tausworthe(10000,11,2,5,5,1)->random_dos random_dos$numeros->u plot(u[-length(u)],u[-1],pch=20,cex=1) #Ejemplo 3: Tausworthe(10000,33,13,32,32,1)->random_tres random_tres$numeros->u plot(u[-length(u)],u[-1],pch=20,cex=1)