Matlab-mat-Dateien in Python lesen

Manav Narula 30 Januar 2023
  1. Verwenden des Moduls scipy.io zum Lesen von .mat-Dateien in Python
  2. Verwendung des NumPy-Moduls zum Lesen von mat-Dateien in Python
  3. Verwendung des Moduls mat4py zum Lesen von mat-Dateien in Python
  4. Verwendung des Moduls matlab.engine zum Lesen von mat-Dateien in Python
Matlab-mat-Dateien in Python lesen

MATLAB ist eine Programmierplattform, die heutzutage häufig für numerische Berechnungen, statistische Analysen und Generierungsalgorithmen verwendet wird. Es ist eine sehr flexible Sprache und ermöglicht es uns, unsere Arbeit in verschiedene Programmiersprachen wie Python zu integrieren.

Der MATLAB-Arbeitsbereich speichert alle Variablen und Inhalte in einer mat-Datei. In diesem Tutorial lernen wir, wie man mat-Dateien in Python öffnet und liest.

Verwenden des Moduls scipy.io zum Lesen von .mat-Dateien in Python

Das Modul scipy.io verfügt über die Funktion loadmat(), mit der mat-Dateien geöffnet und gelesen werden können. Der folgende Code zeigt, wie diese Funktion verwendet wird.

import scipy.io

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

Beachten Sie, dass diese Methode für die MATLAB-Version unter 7.3 nicht funktioniert. Wir können die Datei mat entweder in niedrigeren Versionen mit dem folgenden Befehl in MATLAB speichern, um dies zu vermeiden.

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

Verwendung des NumPy-Moduls zum Lesen von mat-Dateien in Python

Es wurde bereits erläutert, wie wir Dateien in MATLAB 7.3 nicht mit dem Modul scipy.io in Python öffnen können. Es ist erwähnenswert, dass Dateien in Version 7.3 und höher HDF5-Datasets sind, was bedeutet, dass wir sie mit der Bibliothek NumPy öffnen können. Damit diese Methode funktioniert, muss das Modul h5py installiert sein, für das HDF5 auf Ihrem System erforderlich ist.

Der folgende Code zeigt, wie mat-Dateien mit dieser Methode gelesen werden.

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

Verwendung des Moduls mat4py zum Lesen von mat-Dateien in Python

Dieses Modul verfügt über Funktionen, mit denen wir Daten in und aus MATLAB-Dateien schreiben und lesen können.

Die Funktion loadmat() liest MATLAB-Dateien und speichert sie in grundlegenden Python-Strukturen wie einer Liste oder einem Dictionary. Sie ähnelt der Funktion loadmat() aus scipy.io.

Beispielsweise,

from mat4py import loadmat

data = loadmat("example.mat")

Verwendung des Moduls matlab.engine zum Lesen von mat-Dateien in Python

Für Benutzer, die bereits über MATLAB verfügen, kann die von MathWorks selbst bereitgestellte matlab.engine verwendet werden. Es verfügt über zahlreiche Funktionen, die mehr als nur das Lesen und Schreiben von .mat-Dateien umfassen.

Der folgende Code zeigt, wie MATLAB-Dateien mit dieser Methode gelesen werden.

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