Red cuadrada desordenada

La idea es hacer una red cuadrada desordenada.

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