La idea es hacer una red cuadrada desordenada.
- Comenzamos con un programa que ya conocemos
from random import * import matplotlib.pyplot as plt import numpy as np N=10 xv = np.zeros(N) yv = np.zeros(N) for i in range(0,N): x=random() xv[i]=x print(x) print(xv) plt.grid() plt.plot(xv,yv,'o') plt.show()
2. Ahora ubicamos esos puntos entre [0:1] Usando https://jupyter.org/try-jupyter/lab/
from random import * import matplotlib.pyplot as plt import numpy as np N=10 xv = np.zeros(N) yv = np.zeros(N) for i in range(0,N): x=-0.5+random() xv[i]=x print(x) print(xv) plt.grid() plt.plot(xv,yv,'o') plt.show()
3) Graficar en el pano (x,y) puntos aleaotorios entre [-0.5:0.5] en ambas direcciones
from random import * import matplotlib.pyplot as plt import numpy as np N=10 xv = np.zeros(N) yv = np.zeros(N) for i in range(0,N): x=-0.5+random() y=-0.5+random() xv[i]=x yv[i]=y plt.grid() plt.plot(xv,yv,'o') plt.show()
4)Visualizar los siguientes puntos
Primero vamos a hacer un programa que nos de todos los puntos
for ix in range(-1,2): for iy in range(-1,2): print(ix,iy)
-1 -1 -1 0 -1 1 0 -1 0 0 0 1 1 -1 1 0 1 1
Vamos a hacer un vector x y un vector y.
from random import * import matplotlib.pyplot as plt import numpy as np N=9 x=np.zeros(N) y=np.zeros(N) ic=0 for ix in range(-1,2): for iy in range(-1,2): x[ic]=ix y[ic]=iy ic=ic+1 print(x) print(y) plt.grid() plt.plot(x,y,'o')
5) Visualizar todos los puntos entre [-5:5] para x y y
from random import * import matplotlib.pyplot as plt import numpy as np N1=5 N2=(2*N1+1)*(2*N1+1) x=np.zeros(N2) y=np.zeros(N2) ic=0 for ix in range(-N1,N1+1): for iy in range(-N1,N1+1): x[ic]=ix y[ic]=iy ic=ic+1 print(x) print(y) plt.grid() plt.plot(x,y,'o')
Podemos ajustar los ejes
from random import * import matplotlib.pyplot as plt import numpy as np N1=5 N2=(2*N1+1)*(2*N1+1) x=np.zeros(N2) y=np.zeros(N2) ic=0 for ix in range(-N1,N1+1): for iy in range(-N1,N1+1): x[ic]=ix y[ic]=iy ic=ic+1 print(x) print(y) plt.axis('square') plt.xlim(-N1-1,N1+1) plt.ylim(-N1-1,N1+1) plt.grid() plt.plot(x,y,'o')
6) Como incluimos el desorden?
Considere el siguiente programa
x=0 y=0 plt.grid() plt.plot(x,y,'o')
Ahora considere el programa
x=0 y=0 x=x-0.5+random() y=y-0.5+random() plt.grid() plt.xlim(-1,1) plt.ylim(-1,1) plt.plot(x,y,'o')
from random import * import matplotlib.pyplot as plt import numpy as np for ic in range(0,1000): x=0 y=0 x=x-0.5+random() y=y-0.5+random() plt.xlim(-1,1) plt.ylim(-1,1) plt.grid() plt.plot(x,y,'.b')
from random import * import matplotlib.pyplot as plt import numpy as np porcentaje=0.5 for ic in range(0,100): x=0 y=0 x=x+porcentaje*(-0.5+random()) y=y+porcentaje*(-0.5+random()) plt.xlim(-1,1) plt.ylim(-1,1) plt.grid() plt.plot(x,y,'.b')
7) Meter desorden en la red 2d
from random import * import matplotlib.pyplot as plt import numpy as np porcentaje=1.0 N1=5 N2=(2*N1+1)*(2*N1+1) x=np.zeros(N2) y=np.zeros(N2) ic=0 for ix in range(-N1,N1+1): for iy in range(-N1,N1+1): x[ic]=ix y[ic]=iy x[ic]=x[ic]+porcentaje*(-0.5+random()) y[ic]=y[ic]+porcentaje*(-0.5+random()) ic=ic+1 plt.axis('square') plt.xlim(-N1-1,N1+1) plt.ylim(-N1-1,N1+1) plt.grid() plt.plot(x,y,'.b')
8) Graficas multiples
from random import * import matplotlib.pyplot as plt import numpy as np figure, axis = plt.subplots(2, 2) porcentaje=0.0 N1=5 N2=(2*N1+1)*(2*N1+1) x=np.zeros(N2) y=np.zeros(N2) ic=0 for ix in range(-N1,N1+1): for iy in range(-N1,N1+1): x[ic]=ix y[ic]=iy x[ic]=x[ic]+porcentaje*(-0.5+random()) y[ic]=y[ic]+porcentaje*(-0.5+random()) ic=ic+1 #axsi[0,0].plt.axis('square') #plt.xlim(-N1-1,N1+1) #plt.ylim(-N1-1,N1+1) #plt.grid() axis[0,0].plot(x,y,'.b') axis[0, 0].set_title("0% de desorden") plt.show()
from random import * import matplotlib.pyplot as plt import numpy as np figure, axis = plt.subplots(2, 2) ################################################# porcentaje=0.0 N1=5 N2=(2*N1+1)*(2*N1+1) x=np.zeros(N2) y=np.zeros(N2) ic=0 for ix in range(-N1,N1+1): for iy in range(-N1,N1+1): x[ic]=ix y[ic]=iy x[ic]=x[ic]+porcentaje*(-0.5+random()) y[ic]=y[ic]+porcentaje*(-0.5+random()) ic=ic+1 #axsi[0,0].plt.axis('square') #plt.xlim(-N1-1,N1+1) #plt.ylim(-N1-1,N1+1) #plt.grid() axis[0,0].plot(x,y,'.b') axis[0, 0].set_title("0% de desorden") ############################################### ################################################# porcentaje=0.25 N1=5 N2=(2*N1+1)*(2*N1+1) x=np.zeros(N2) y=np.zeros(N2) ic=0 for ix in range(-N1,N1+1): for iy in range(-N1,N1+1): x[ic]=ix y[ic]=iy x[ic]=x[ic]+porcentaje*(-0.5+random()) y[ic]=y[ic]+porcentaje*(-0.5+random()) ic=ic+1 #axsi[0,0].plt.axis('square') #plt.xlim(-N1-1,N1+1) #plt.ylim(-N1-1,N1+1) #plt.grid() axis[0,1].plot(x,y,'.b') axis[0, 1].set_title("25% de desorden") ############################################### ################################################# porcentaje=0.50 N1=5 N2=(2*N1+1)*(2*N1+1) x=np.zeros(N2) y=np.zeros(N2) ic=0 for ix in range(-N1,N1+1): for iy in range(-N1,N1+1): x[ic]=ix y[ic]=iy x[ic]=x[ic]+porcentaje*(-0.5+random()) y[ic]=y[ic]+porcentaje*(-0.5+random()) ic=ic+1 #axsi[0,0].plt.axis('square') #plt.xlim(-N1-1,N1+1) #plt.ylim(-N1-1,N1+1) #plt.grid() axis[1,0].plot(x,y,'.b') axis[1, 0].set_title("50% de desorden") ############################################### ################################################# porcentaje=1.0 N1=5 N2=(2*N1+1)*(2*N1+1) x=np.zeros(N2) y=np.zeros(N2) ic=0 for ix in range(-N1,N1+1): for iy in range(-N1,N1+1): x[ic]=ix y[ic]=iy x[ic]=x[ic]+porcentaje*(-0.5+random()) y[ic]=y[ic]+porcentaje*(-0.5+random()) ic=ic+1 #axsi[0,0].plt.axis('square') #plt.xlim(-N1-1,N1+1) #plt.ylim(-N1-1,N1+1) #plt.grid() axis[1,1].plot(x,y,'.b') axis[1, 1].set_title("100% de desorden") ############################################### plt.show()