Leer archivos mat de Matlab en Python

Manav Narula 30 enero 2023
  1. Utilice el módulo scipy.io para leer archivos .mat en Python
  2. Utilice el módulo NumPy para leer archivos mat en Python
  3. Utilice el módulo mat4py para leer archivos mat en Python
  4. Utilice el módulo matlab.engine para leer archivos mat en Python
Leer archivos mat de Matlab en Python

MATLAB es una plataforma de programación que se utiliza ampliamente en estos días para el cálculo numérico, el análisis estadístico y la generación de algoritmos. Es un lenguaje muy flexible y nos permite integrar nuestro trabajo con diferentes lenguajes de programación como Python.

El espacio de trabajo de MATLAB guarda todas sus variables y contenidos en un archivo mat. En este tutorial, aprenderemos cómo abrir y leer archivos mat en Python.

Utilice el módulo scipy.io para leer archivos .mat en Python

El módulo scipy.io tiene la función loadmat(), que puede abrir y leer archivos mat. El siguiente código muestra cómo utilizar esta función.

import scipy.io

mat = scipy.io.loadmat("file.mat")

Tenga en cuenta que este método no funciona para la versión de MATLAB anterior a 7.3. Podemos guardar el archivo mat en versiones inferiores usando el siguiente comando en MATLAB para evitar esto.

save('test.mat', '-v7')

Utilice el módulo NumPy para leer archivos mat en Python

Se discutió anteriormente cómo no podemos abrir archivos en MATLAB 7.3 usando el módulo scipy.io en Python. Vale la pena señalar que los archivos en la versión 7.3 y superiores son conjuntos de datos hdf5, lo que significa que podemos abrirlos usando la biblioteca NumPy. Para que este método funcione, es necesario instalar el módulo h5py, que requiere HDF5 en su sistema.

El siguiente código muestra cómo leer archivos mat utilizando este método.

import numpy as np
import h5py

f = h5py.File("somefile.mat", "r")
data = f.get("data/variable1")
data = np.array(data)  # For converting to a NumPy array

Utilice el módulo mat4py para leer archivos mat en Python

Este módulo tiene funciones que nos permiten escribir y leer datos desde y hacia archivos MATLAB.

La función loadmat() lee archivos MATLAB y los almacena en estructuras básicas de Python como una lista o un diccionario y es similar a loadmat() de scipy.io.

Por ejemplo,

from mat4py import loadmat

data = loadmat("example.mat")

Utilice el módulo matlab.engine para leer archivos mat en Python

Los usuarios que ya tienen MATLAB pueden utilizar el matlab.engine que proporciona MathWorks. Tiene mucha funcionalidad, que se extiende a más que solo leer y escribir archivos .mat.

El siguiente código muestra cómo leer archivos MATLAB utilizando este método.

import matlab.engine

eng = matlab.engine.start_matlab()
content = eng.load("example.mat", nargout=1)
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn