BannerHauptseite TUMHauptseite LehrstuhlMathematik SchriftzugHauptseite LehrstuhlHauptseite Fakultät

Wie installiert und kompiliert man die MEX-Interfaces

Es gibt drei Alternativen um die MEX-Interfaces zu verwenden

Mit MATLAB und mex -setup

Das ist möglich, wenn ein C und ein Fortran Compiler installiert sind, die beide von MATLAB unterstützt werden. "Koppeln" Sie beide Compiler an MATLAB an, in dem Sie
mex -setup
auf MATLAB's Kommandozeile eingeben und die richtigen Options-Dateien auswählen (mehr Informationen hierzu: Mathworks Support Pfeil). Dieser Schritt muss nur ein einziges Mal getätigt werden.

Um zu überprüfen, ob alles bereit ist, geben Sie
mex -v
ein. Wenn Sie jetzt eine Liste mit einem C-Compiler (CC) und einem Fortran-Compiler (FC) als Ausgabe erhalten, dann ist alles bereit. Hier ist eine Beispielausgabe: mexconfig.txt.

Dann gehen Sie zur Installation des MEX-Interfaces so vor:
  1. zip-File mit MEX-Interface in eigenes Verzeichnis auspacken
  2. MATLAB starten und in das Verzeichnis aus 1. gehen
  3. "compile" aufrufen, also "compile" auf MATLAB's Kommandozeile eingeben
  4. wenn alles gut gegangen ist, müsste jetzt mindestens ein .mexsol (bei Solaris-Rechnern) bzw. mindestens ein .dll (bei Windows-Rechnern, MATLAB<7.1) oder ein .mexw32 (bei Windows-Rechnern, MATLAB>=7.1) File entstanden sein
  5. Sie haben jetzt zwei Möglichkeiten: entweder Sie setzen MATLAB's Suchpfad auf das Verzeichnis unter 1. und können dann überall das Interface verwenden oder Sie kopieren die .mexsol oder .dll und .m Files in das Verzeichnis, in dem Sie das Interface auch verwenden wollen.

Mit lcc-win32

Dazu brauchen Sie einen Windows-PC:
  1. Gehen Sie auf http://www.cs.virginia.edu/~lcc-win32/ Pfeil oder http://q-software-solutions.de/products/lcc-win32/index.shtml Pfeil
  2. laden Sie sich lccwin32.exe (momentan 3.9 Mb) herunter
  3. laden Sie sich fortran.exe (momentan 0.5 Mb) von http://www.filewatcher.com/m/fortran.exe.453574.0.0.html Pfeil herunter
  4. Installieren Sie lccwin32.exe, möglichst in einen Pfad OHNE Spaces (z.B. c:\lcc)
  5. Installieren Sie fortran.exe am genau gleichen Ort (also in obigen Beispiel unter c:\lcc)
  6. zip-File mit MEX-Interface in eigenes Verzeichnis auspacken
  7. in dieses Verzeichnis wechseln, die Datei create.bat mit irgendeinem Texteditor öffnen und die zwei Pfade (MATLAB und lcc) an den markierten Stellen korrigieren
  8. create.bat auf der Dos Eingabeaufforderung (Dos-Box) starten
  9. wenn alles gut gegangen ist, müsste jetzt mindestens ein .dll File entstanden sein
  10. Sie haben jetzt zwei Möglichkeiten: entweder Sie setzen MATLAB's Suchpfad auf das Verzeichnis unter 6. und können dann überall das Interface verwenden oder Sie kopieren die .dll und .m Files in das Verzeichnis, in dem Sie das Interface verwenden wollen.

Mit OpenWatcom 1.3

Das ist möglich, falls Sie einen Windows-PC haben und Ihre MATLAB Version OpenWatcom 1.3 unterstützt. Gehen Sie ins
<MATLAB-Path>/extern/lib/win32/watcom
Verzeichnis. Befindet sich dort ein Unterverzeichnis openwc13 dann wird OpenWatcom 1.3 von Ihrer MATLAB Version unterstützt.
  1. Gehen Sie auf http://openwatcom.mirrors.pair.com/ Pfeil
  2. laden Sie sich open-watcom-win32-1.3.exe Pfeil herunter
  3. Installieren Sie OpenWatcom 1.3
  4. zip-File mit MEX-Interface in eigenes Verzeichnis auspacken
  5. in dieses Verzeichnis wechseln, die Datei create_wc.bat mit irgendeinem Texteditor öffnen und die zwei Pfade (MATLAB und Watcom) an den markierten Stellen korrigieren
  6. starten Sie create_wc.bat auf der Dos Eingabeaufforderung (Dos-Box)
  7. wenn alles gut gegangen ist, müsste jetzt mindestens ein .dll File entstanden sein
  8. Stellen Sie sicher, dass binnt and binw (in dieser Reihenfolge) in der PATH Umgebungsvariable steht und starten Sie MATLAB
  9. Sie haben jetzt zwei Möglichkeiten: entweder Sie setzen MATLAB's Suchpfad auf das Verzeichnis unter 4. und können dann überall das Interface verwenden oder Sie kopieren die .dll und .m Files in das Verzeichnis, in dem Sie das Interface verwenden wollen.

Anmkerkungen zu Cygwin, MingW und Gnumex

Die Erklärung der Installation von Cygwin und/oder MingW zusammen mit Gnumex würde den Rahmen dieses HowTos sprengen. Informationen dazu findet man auf der Gnumex homepage Pfeil. Stattdessen gebe ich ein paar Hinweise, die hilfreich sein könnten, um diese MEX Interfaces mit gnumex zu kompilieren und zu linken.

Dieses Options File (mexmingf.bat) hat bei mir funktioniert. So habe ich beispielsweise das Radau-Interface mit

mex -v -f c:\gnumex\mexmingf.bat -DFORTRANUPP -DFORTRANNOUNDER radauMex.c options.c radau.f lapack.f lapackc.f dc_lapack.f

zum Laufen gebracht.

Fragen, Probleme, Bugs

Schreiben Sie an ludwigematma.tum.de