Aufruf aus Matlab-Scripts Aufgerufen wird die “mexFunktion” aus einem Matlab-Script
mit ihrem Dateinamen. Das Zusammenspiel soll am Beispiel des Aufrufs der C-Funktion femalg_f, die den gesamten FEM-Algorithmus in FEMSET abarbeitet, beschrieben werden:
Es wird eine C-Funktion mexFunction geschrieben, aus der die C-Funktion femalg_f aufgerufuen wird. Die mexFunction wird z. B. in der Datei femalg_m.c
gespeichert. Diese wird mit dem “mex-Compiler” mex übersetzt, es entsteht (unter Windows) eine “DLL-Datei” femalg_m.dll, die aus einem Matlab-Script dann wie eine Matlab-Funktion aufgerufen werden kann, z. B. so:
[succ uv] = femalg_m (xy , km , ep , kr , bk) ;
Bei diesem Aufruf würde die mexFunction die Information über die Input-Parameter als nrhs=5 (Anzahl der “Right hand side”-Werte) und mit 5 Pointern auf xy, km, ep, kr und bk im
Array prhs entgegennehmen. Mit nlhs=2 (Anzahl der “Left hand side”-Werte) wird der mexFunction signalisiert, dass sie zwei Pointer auf Ergebnisse im Feld plhs abliefern muss.
|