Leggi i file Matlab mat in Python

Manav Narula 30 gennaio 2023
  1. Usa il modulo scipy.io per leggere i file .mat in Python
  2. Usa il modulo NumPy per leggere i file mat in Python
  3. Usa il modulo mat4py per leggere i file mat in Python
  4. Usa il modulo matlab.engine per leggere i file mat in Python
Leggi i file Matlab mat in Python

MATLAB è una piattaforma di programmazione ampiamente utilizzata oggigiorno per il calcolo numerico, l’analisi statistica e la generazione di algoritmi. È un linguaggio molto flessibile e ci permette di integrare il nostro lavoro con diversi linguaggi di programmazione come Python.

Lo spazio di lavoro MATLAB salva tutte le sue variabili e contenuti in un file mat. In questo tutorial impareremo come aprire e leggere i file mat in Python.

Usa il modulo scipy.io per leggere i file .mat in Python

Il modulo scipy.io ha la funzione loadmat(), che può aprire e leggere file mat. Il codice seguente mostra come utilizzare questa funzione.

import scipy.io

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

Nota che questo metodo non funziona per la versione MATLAB precedente alla 7.3. Possiamo salvare il file mat nelle versioni precedenti usando il comando seguente in MATLAB per evitarlo.

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

Usa il modulo NumPy per leggere i file mat in Python

È stato discusso in precedenza come non possiamo aprire file in MATLAB 7.3 utilizzando il modulo scipy.io in Python. Vale la pena notare che i file nella versione 7.3 e successive sono set di dati hdf5, il che significa che possiamo aprirli usando la libreria NumPy. Affinché questo metodo funzioni, è necessario installare il modulo h5py, che richiede HDF5 sul sistema.

Il codice seguente mostra come leggere i file mat utilizzando questo metodo.

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

Usa il modulo mat4py per leggere i file mat in Python

Questo modulo ha funzioni che ci consentono di scrivere e leggere dati da e verso i file MATLAB.

La funzione loadmat() legge i file MATLAB e li memorizza in strutture Python di base come una lista o un dizionario ed è simile a loadmat() di scipy.io.

Per esempio,

from mat4py import loadmat

data = loadmat("example.mat")

Usa il modulo matlab.engine per leggere i file mat in Python

Gli utenti che hanno già MATLAB possono utilizzare matlab.engine fornito da MathWorks stesso. Ha molte funzionalità, che si estendono a qualcosa di più della semplice lettura e scrittura di file .mat.

Il codice seguente mostra come leggere i file MATLAB utilizzando questo metodo.

import matlab.engine

eng = matlab.engine.start_matlab()
content = eng.load("example.mat", nargout=1)
Autore: Manav Narula
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