Cheat Sheets

Aufrufen von MATLAB über Python

Diese Referenz zeigt gängige Anwendungsfälle, ist jedoch keineswegs vollständig. 

Python mit MATLAB erweitern

Integrieren Sie die leistungsfähigen Tools von MATLAB direkt in Ihre Python-Workflows.

Setup

Installation der MATLAB Engine API für Python

Um die MATLAB Engine API für Python® zu verwenden, müssen beide auf dem System installiert sein. Installieren Sie die Engine API als Python-Paket.

Installation mit pip

Über die Systemeingabeaufforderung: 

$ python –m pip install matlabengine

Installation mit setup.py

Führen Sie die Datei setup.py über die Systemeingabeaufforderung aus:

$ cd [matlabroot]/extern/engines/ python
 $ python setup.py install

Stellen Sie zur Fehlerbehebung sicher, dass ausreichende Berechtigungen vorhanden sind (als Administrator ausführen), und überprüfen Sie den PYTHONPATH sowie die Systempfade. 

MATLAB Engine API

Verwenden Sie die MATLAB Engine API, um MATLAB aus Python aufzurufen.

Importieren Sie das Modul und starten Sie die Engine:

>>> import matlab.engine
>>> eng = matlab.engine. start _ matlab() 

Rufen Sie Funktionen über die Engine auf:

>>> x = eng.sqrt(42.0) 

Erfassen Sie mehrere Ausgabewerte:

>>> x = eng.gcd(42.0,8.0,nargout=3) 
>>> x = eng.plot(x,y,nargout=0) 

Beenden Sie die Engine:

>>> x = eng.exit()

Konversion von Datentypen

Datentypen werden, sofern möglich, automatisch konvertiert.

Python MATLAB
float double
complex complex double
int int64
float(nan) NaN
float(inf) Inf
bool logical
str char
dict struct
list cell array
set cell array
tuple cell array

Sie können MATLAB-Arrays in Python erstellen, um Daten einfach an MATLAB-Funktionen zu übergeben:

>>> x = matlab. double([1,4,9])

Verwendung von MATLAB-Apps

Verwenden Sie den MATLAB Engine Workspace

Der MATLAB Engine Workspace kann verwendet werden, um auf Variablen aus MATLAB und Python zuzugreifen, und erleichtert die Verwendung von Apps.

Fügen Sie dem Workspace eine Variable hinzu:

>>> x = 4.0 >>> eng.workspace['y'] = x 

Greifen Sie aus dem MATLAB Workspace auf die Variable zu:

>>> x = eng.workspace['y'] 

Führen Sie Anweisungen mithilfe der Funktion eval aus:

>>> a = eng.eval('sqrt(y)')

Sie können Apps in MATLAB aus Python öffnen, indem Sie den jeweiligen App-Befehl verwenden:

>>> eng.signalAnalyzer() 
>>> eng.classificationLearner()

Erstellen von Python-Paketen

MATLAB-Funktionen paketieren. Verwenden Sie die Library Compiler App, um ein Python-Paket für MATLAB-Funktionen zu erstellen.

MATLAB-Funktionen aus dem Python-Paket aufrufen

>>> import PackageName 
>>> pkg = PackageName. initialize() 
>>> result = pkg.Foo() 

Paket schließen

>>> pkg.terminate()

MATLAB in anderen IDEs

Sie können MATLAB aus Jupyter® oder VSCode verwenden.

MATLAB-Integration für Jupyter installieren

Installieren Sie beispielsweise das Paket, um MATLAB aus Jupyter auszuführen.

$ python pip install jupyter-matlab-proxy 
$ install-matlab-kernelspec 

Sie können MATLAB jetzt im Browser verwenden oder Code in Ihrem Notebook mit dem MATLAB-Kernel ausführen.