Advertisement
Guest User

Untitled

a guest
Nov 24th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.70 KB | None | 0 0
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. import imageio
  4. import math as mt
  5.  
  6. images = []
  7. forma = int(input("Ingrese el numero de forma a procesar : "))
  8. n = int(input("Ingrese cantidad de filas: "))
  9. m = int(input("Ingrese cantidad de columnas: "))
  10. a = np.random.random((n, m))
  11. if(forma == 1):
  12. #forma juan
  13.     for j in range(n):
  14.         for k in range(m):
  15.             if j==0: #lado D
  16.                 a[j][k] = 100
  17.             elif k==0: #lado A
  18.                 a[j][k] = 100*(j/n)
  19.             elif j == n-1: #Lado B
  20.                 a[j][k] = 0
  21.             elif k == m-1: #lado C
  22.                 a[j][k]=100*(j/n)
  23.             else: # lo que no esta en el borde
  24.                 a[j][k]=0    
  25. elif(forma == 2):
  26.     for j in range(n):
  27.         for k in range(m):
  28.             if j==0: #lado D
  29.                 a[j][k] = 100
  30.             elif k==0: #lado A
  31.                 a[j][k] = 100*(j/n)
  32.             elif j == n-1: #Lado B
  33.                 a[j][k] = 0
  34.             elif k == m-1: #lado C
  35.                 a[j][k]=100*(j/n)
  36.             else: # lo que no esta en el borde
  37.                 a[j][k]=0
  38. elif(forma == 3):
  39.     for j in range(n):
  40.         for k in range(m):
  41.             if j==0: #lado D
  42.                 a[j][k] = 100*(k/n)**2
  43.             elif k==0: #lado A
  44.                 a[j][k] = 0
  45.             elif j == n-1: #Lado B
  46.                 a[j][k] = 100*(k/n)**2
  47.             elif k == m-1: #lado C
  48.                 a[j][k]=100
  49.             else: # lo que no esta en el borde
  50.                 a[j][k]=0
  51. elif(forma == 4):
  52.     for j in range(n):
  53.         for k in range(m):
  54.             if j==0: #lado D
  55.                 a[j][k] = 100* mt.sin(mt.pi*(k/n))
  56.             elif k==0: #lado A
  57.                 a[j][k] = 0
  58.             elif j == n-1: #Lado B
  59.                 a[j][k] = 100* mt.sin(mt.pi*(k/n))
  60.             elif k == m-1: #lado C
  61.                 a[j][k]=0
  62.             else: # lo que no esta en el borde
  63.                 a[j][k]=0
  64. elif(forma == 5):
  65.     for j in range(n):
  66.         for k in range(m):
  67.             if j==0: #lado D
  68.                 a[j][k] = 100
  69.             elif k==0: #lado A
  70.                 a[j][k] = 100* j
  71.             elif j == n-1: #Lado B
  72.                 a[j][k] = 100* k
  73.             elif k == m-1: #lado C
  74.                 a[j][k]=100
  75.             else: # lo que no esta en el borde
  76.                 a[j][k]=0    
  77. else:
  78.     print ( "Forma no valida")    
  79. for i in range(20):            
  80.     for j in range(n):
  81.         for k in range(m):
  82.             if j!=0 and k!=0 and j!=n-1 and k!=n-1:
  83.                 ecuacion = (a[j][k] + a[j+1][k] + a[j][k+1] + a[j+1][k+1] )/4
  84.                 a[j][k]= ecuacion        
  85.     plt.imshow(a, cmap=plt.cm.coolwarm)
  86.     plt.savefig("test.png")
  87.     img = imageio.imread("test.png")
  88.     images.append(img)
  89. imageio.mimsave('movie.gif', images)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement