4.2 Matrices - Arreglos de dos dimensiones en Python



1. Matrices en Programación

Las matrices en programación se manejan como arreglos de Numpy. La interpretación de los datos de una Matriz o arreglo puede ser desde un sistema de ecuaciones, una tabla de goles de un campeonato o una hoja de calendario.

un calendario como ejemplo de matrices

Al igual que los vectores, las matrices en arreglos tienen como componentes: "nombre", "índice" y "tamaño". Los valores de tamaño dependen de las dimensiones de la matriz. Para los primeros ejercicios serán rectangulares de nxm.

matrices filas, columnas, dimensiones

Los índices a diferencia de el álgebra, inician en cero.

En los ejercicios, la matriz de dos dimensiones usa como índices de filas la variable "i" y para columnas "j".



2. Matrices - Arreglos con Numpy

Para un mejor manejo de matrices en programación, se usan las funciones de la librería Numpy (Numerical Python) que se incorporan en el bloque de inicio con el alias np.

import numpy as np

Definir una matriz de nxm, con ceros o llena de unos, requiere la instrucción:

>>> 
import numpy as np
>>> n = 5
>>> m = 7
>>> matriz0 = np.zeros(shape=(n,m), dtype=float)
>>> matriz0
array([[0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0.]])
>>> matriz1 = np.ones(shape=(n,m), dtype=float)
>>> matriz1
array([[1., 1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1., 1.]])
>>> 

El tipo de matriz (dtype=int) se añade para indicar que la matriz tiene datos tipo entero, la forma predeterminada para los datos es tipo real (dtype=float)

Las dimensiones de la matriz se obtienen mediante la instrucción con Numpy:

>>> np.shape(matriz0)
(5, 7)
>>> tamano = np.shape(matriz0)
>>> tamano
(5, 7)
>>> tamano[0]
5
>>> tamano[1]
7
>>> dimension = np.ndim(matriz0)
>>> dimension
2
>>> 

entre otras operaciones en Numpy que reflejan las operaciones de matrices de álgebra.


Referencias: Inicie con la definición de matrices del álgebra lineal:

https://blog.espol.edu.ec/matg1049/cl1-02-sistema-de-ecuaciones-lineales/

Las operaciones básicas de matrices se describen también en álgebra lineal:

https://blog.espol.edu.ec/matg1049/cl2-07-operaciones-entre-subespacios/

En el curso de Métodos Numéricos en la unidad 3 de sistemas de ecuaciones se tienen algunos ejemplos de uso de matrices.

Pivoteo Parcial por filas

Método de Gauss



3. Matrices - Archivo Abrir/Guardar

En Python se pueden obtener los datos de las matrices desde archivos, o almacenar las matrices hacia archivos. Así, cuando las matrices son de grandes dimensiones, no será necesario tener que escribir los valores de las matrices cada vez que se requiera hacer una operación.

En librería Numpy , existen funciones incorporadas para guardar o abrir una matriz desde un archivo en formato .txtcon las instrucciones: np.savetxt(), np.loadtxt()


Matriz - Guardar archivo.txt con Numpy

Para guardar una matriz a un archivo use:

numpy.savetxt('matriz.txt', matriz)
>>> import numpy as np
>>> matriz = np.array([[1,2,3],[4,5,6]])
>>> matriz
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.savetxt('matriz00.txt',matriz)

se puede encontrar en archivo.txt en el directorio de trabajo de Python

matriz guardar txt Numpy

El archivo puede ser abierto para observar desde el "block de notas"

matriz guardar txt archivo

Matriz - Abrir archivo.txt con Numpy

Continuando con el ejercicio anterior, para abrir o leer desde un archivo en formato de texto 'matriz.txt', se dispone de la instrucción de Numpy:

np.loadtxt('matriz.txt',dtype=int)

La instrucción permite indicar el tipo de datos que se usan en el arreglo.

>>> A = np.loadtxt('matriz00.txt',dtype=int)
>>> A
array([[1, 2, 3],
       [4, 5, 6]])

>>> B = np.loadtxt('matriz00.txt')
>>> B
array([[ 1., 2., 3.],
       [ 4., 5., 6.]])

Nota: lo importante es el formato del archivo en tipo texto. Algunas veces los archivos tienen extensión .dat que también pueden ser leídos.



Matrices - Interpretación y usos

Observe el siguiente video y plantee la relación con el tema de arreglos, matrices, dimensiones y computación.

Las aplicaciones de las matrices | Lo que desearía que mis maestros me hubieran dicho antes. Zach Star. 11 oct 2019.




Unidades FP