Einbindung von C - Files in MatLab

Aus Physik
Version vom 15. November 2011, 09:30 Uhr von Klauslan (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Allgemeines

MatLab bietet die Möglichkeit Unterprogramme, welche in C programmiert wurden, in ein MatLab Programm als sog. MEX – File einzubinden. (MEX ... MatLab Executable)

Dies ist vor allem dann von Nutzen, wenn das erforderliche Unterprogramm nur als C - Programm zur Verfügung steht oder eine Ausführung dieses Codes in MatLab zu viel Zeit in Anspruch nehmen würde.

Der Informationsfluss bei der Ausführung solcher MEX – Files ist schematisch in Abbildung 1 dargestellt. Um eine Funktion zu gewährleisten müssen also das Hauptprogramm (MatLab) und das Unterprogramm (C) mit einem sog. Gateway – File verbunden werden.

Ziel dieses Projektes war es, ein Programm (Create_Gateway) zu entwickeln, welches den Benutzer bei der Erstellung dieses Gateway – Files unterstützt.

Abbildung 1: Informationsfluss zwischen Hauptprogramm und Unterprogramm (blau) und zur Erstellung des Gateway – Files (rot).


Das Programm Create_Gateway

Create_Gateway besteht aus folgenden drei *.m - Dateien:

  • Create_Gateway.m
  • get_data.m
  • write_file.m

Dieses Programm durchsucht das C – File nach Informationen bezüglich der Übergabeparameter zwischen Hauptprogramm und Unterprogramm. Anhand dieser wird das Gateway – File erstellt.
In Abbildung 2 sind alle Arten von Übergabeparametern, die von Create_Gateway unterstützen werden, aufgelistet.

Abbildung 2: Unterstützte Übergabeparameter von Create_Gateway


Weitere Informationen und Beispiele findet man in der Dokumentation, die zum Download zur Verfügung steht.

Download & Kontakt

Das Projekt kann in einem ZIP - Archiv heruntergeladen werden. Um es zu starten muss die Datei Create_Gateway.m ausgeführt werden.


Download Create_Gateway

Für Fragen oder Anregungen stehe ich gerne zur Verfügung

(Klaus Lang)