Ler arquivos mat Matlab em Python

Manav Narula 30 janeiro 2023
  1. Use o módulo scipy.io para ler arquivos .mat em Python
  2. Use o módulo NumPy para ler arquivos mat em Python
  3. Use o módulo mat4py para ler arquivos mat em Python
  4. Use o módulo matlab.engine para ler arquivos mat em Python
Ler arquivos mat Matlab em Python

MATLAB é uma plataforma de programação amplamente utilizada atualmente para computação numérica, análise estatística e geração de algoritmos. É uma linguagem muito flexível e nos permite integrar nosso trabalho com diferentes linguagens de programação como Python.

O espaço de trabalho do MATLAB salva todas as suas variáveis ​​e conteúdos em um arquivo mat. Neste tutorial, aprenderemos como abrir e ler arquivos mat em Python.

Use o módulo scipy.io para ler arquivos .mat em Python

O módulo scipy.io possui a função loadmat(), que pode abrir e ler arquivos mat. O código a seguir mostra como usar essa função.

import scipy.io

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

Observe que este método não funciona para a versão do MATLAB abaixo de 7.3. Podemos salvar o arquivo mat em versões anteriores usando o comando abaixo no MATLAB para evitar isso.

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

Use o módulo NumPy para ler arquivos mat em Python

Foi discutido anteriormente como não podemos abrir arquivos no MATLAB 7.3 usando o módulo scipy.io no Python. É importante notar que os arquivos na versão 7.3 e acima são conjuntos de dados hdf5, o que significa que podemos abri-los usando a biblioteca NumPy. Para que este método funcione, o módulo h5py precisa ser instalado, o que requer HDF5 em seu sistema.

O código abaixo mostra como ler arquivos mat usando 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

Use o módulo mat4py para ler arquivos mat em Python

Este módulo possui funções que nos permitem escrever e ler dados de e para arquivos MATLAB.

A função loadmat() lê arquivos MATLAB e os armazena em estruturas Python básicas como uma lista ou um dicionário e é semelhante ao loadmat() de scipy.io.

Por exemplo,

from mat4py import loadmat

data = loadmat("example.mat")

Use o módulo matlab.engine para ler arquivos mat em Python

Para usuários que já possuem o MATLAB podem usar o matlab.engine que é fornecido pelo próprio MathWorks. Ele tem muitas funcionalidades, que vão além da simples leitura e gravação de arquivos .mat.

O código a seguir mostra como ler arquivos MATLAB usando esse 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