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.