Aufrufen von Benutzer-Skripten und -Funktionen von Python
Dieses Beispiel veranschaulicht, wie Sie ein MATLAB®-Skript zur Berechnung der Fläche eines Dreiecks über Python® aufrufen.
Um ein MATLAB-Skript oder eine Funktion aufzurufen, speichern Sie das Skript/die Funktion im MATLAB-Verzeichnis. Weitere Optionen finden Sie unter Speichern einer Funktion im Python-Pfad.
Erstellen Sie für dieses Beispiel ein MATLAB-Skript in einer Datei namens triarea.m im aktuellen Ordner.
b = 5; h = 3; a = 0.5*(b.* h)
Starten Sie nach dem Speichern der Datei Python und rufen Sie das Skript auf.
import matlab.engine
eng = matlab.engine.start_matlab()
eng.triarea(nargout=0)
a =
7.5000
Geben Sie nargout=0 an. Das Skript druckt zwar eine Ausgabe, gibt aber keine Ausgabeargumente an Python zurück.
Konvertieren Sie das Skript in eine Funktion und rufen Sie die Funktion aus der Engine auf. Um die Datei zu bearbeiten, öffnen Sie den MATLAB Editor.
eng.edit('triarea',nargout=0)
Löschen Sie die drei Ausdrücke. Fügen Sie daraufhin eine Funktionserklärung hinzu und speichern Sie die Datei.
function a = triarea(b,h)
a = 0.5*(b.* h);Rufen Sie die neue triarea-Funktion aus der Engine auf.
ret = eng.triarea(1.0,5.0)
print(ret)
2.5
Die triarea-Funktion gibt nur ein Ausgabeargument zurück, nargout muss also nicht angegeben werden.
Speichern einer Funktion im Python-Pfad
Falls die MATLAB-Funktion nicht im MATLAB-Pfad liegt, kann sie aus dem aktuellen Ordner aufgerufen werden. Geben Sie beispielsweise zum Aufzurufen der MATLAB-Funktion myFnc im Ordner myFolder Folgendes ein:
import matlab.engine
eng = matlab.engine.start_matlab()
eng.cd(r'myFolder', nargout=0)
eng.myFnc()Falls sich myFnc im Ordner C:/work/myfiles befindet, können Sie diesen Ordner zum Python-Pfad hinzufügen.
eng.addpath("C:/work/myfiles")
Geben Sie Folgendes eine, um einen Pfad zu allen Unterordnern hinzuzufügen:
s = eng.genpath('C:/work/myfiles')
eng.addpath(s, nargout=0)Siehe auch
matlab.engine.MatlabEngine | matlab.engine.FutureResult