Percolation (I)#

Comencemos un proyecto de librería llamado «Percolation». El propósito de la librería irá desvelandose poco a poco. Por ahora comencemos con la primera función.

Tarea#

Con ayuda de la librería Numpy, realiza una función que cumpla el siguiente objetivo y requisitos:

  • La función tiene 3 argumentos de entrada: “filas”, “columnas” y ocupación. Donde filas y columnas son dos números enteros positivos y ocupación un número de coma flotante en el rango [0,1].

  • La función devuelve una matriz de números enteros (un numpy.ndarray de tamaño (filas, columnas)) donde todos los valores son 0 menos una cierta cantidad \(M\) de 1’s. Dicha cantidad debe ser tal que \(M=filas\cdot columnas \cdot ocupación\). Las posiciones de los elementos de la matriz que contendrán un 1 serán elegidas aleatoriamente.

Implementa una segunda función para visualizar con ayuda de Matplotlib las matrices generadas por la función anterior con las siguientes condiciones:

  • Los elementos de la matriz 0 serán representados en color blanco.

  • Los elementos de la matriz 1 serán representados en color gris.

  • Los elementos de la matriz son representados en un mapa de color cuidando que en el eje horizontal de la gráfica estén representadas las columnas y en el eje vertical las filas.