Von Matlab zu C Code

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Anlegen eines Projekts

Der Matlab Coder lässt sich in der Version 2014a über die App Auswahl im Matlab Hauptfenster starten. Startet man die App, so wird als erstes ein neues Projekt angelegt.In dem geöffneten Dialogfenster kann der Name und Speicherort des Projekts festgelegt werden. Im Matlabfenster erscheint der Matlab Coder als neuer Bereich.

Dateien ins Projekt übernehmen

Die in Matlab geschriebenen Funktionen / Skripte können per Drag and Drop oder über "Add files" im Coder Fenster in das Projekt im Matlab Coder Fenster übernommen werden. Es ist darauf zu achten, dass nur die Hauptfunktion hinzugefügt wird. Funktionen die von dieser aufgerufen werden durch den Aufruf automatisch mitübernommen. Ist die Funktion im Projekt wird sie dort mit ihren Parametern angezeigt. Für die Ein- und Ausgabeparameter müssen der Dateityp und dessen Dimensionen gesetzt werden.


Code generieren

Um den C-Code zu erzeugen, müssen unter Build noch Einstellungenen vorgenommen werden. Der Output-Typ muss auf "C/C++ Static Library" (Dynamic Libary bei gemischten C / C++ Projekten) und der Harken bei "Generate Code only" soltte gesetzt werden. Unter "More settings" stehen viele weitere Einstellungen wie Speicheroptimierung oder Geschwindigkeitsoptimierung zur Verfügung. Im Anschlus wird der Build-Button betätigt. Während des Buildvorganges kann es zu Fehlern kommen. Matlab zeigt eine Beschreibung des Fehlers und die Zeile an. Häufige Fehler sind undefinierte Matrix Dimensionen oder Datentypen, die nicht zueinanderpassen. Abhilfe schafft hier jede Matrix vorher mit 0 zu füllen und Variablen in Matlab mit Datentypen zu definieren oder an passender Stelle zu casten. Um den erzeugten Quellcode ins C-Projekt zu integrieren, müssen alle generierten Header und C-files mit übernommen werden.

error LNK2019

Autor: Thomas Miska (In Anlehnung an den Lösungsvorschlag von Autor: Luca Di-Lillo)
Nach der Erstellung eines Visual Studio Projektes (Konsolenanwendung in C++) müssen folgende Einstellungen in Visual Studio und dem Projekt vorgenommen werden:

  1. Debug Dropdown Menü in der oberen Leiste auswählen und die Auswahl auf Win32 bzw. x86 setzen (s. Abbildung [1])
  2. Im Projektmappen-Explorer mit einem Rechtsklick auf die Projektmappe Eigenschaften auswählen.
  3. In diesem Fenster sicherstellen, dass die Dropdown-Auswahl auf Degug und Win32 bzw. x86 eingestellt ist. (s. Abbildung [2] - rote Umrandung
  4. Nachfolgend Auswahl der Registerkarte C/C++ (s. Abbildung [2] - blaue Umrandung)
  5. Unter dem Punkt Zusätzliche Includeverzeichnisse (s. Abbildung [2] - grüne Umrandung) den Dateipfad zu Headerdateien angeben. Mit der Bezeichnung $(SolutionDir)$, wird aktuelle Projektordner eingefügt und Unterordner werden mit einem \Ordnername angehängt.
  6. Library-Dateien (.lib) werden mit dem Linker verlinkt. Dies Verlinkung werden in der Registerkarte Linker unter Allgemein definiert (s. Abbildung [3] - rote Umrandung).
  7. Im folgenden müssen diese im Zusätzliche Bibliotheksverzeichnisse definiert werden (s. Abbildung [3] - grüne Umrandung).
  8. Unter der Registerkarte Eingabe in Linker werden die Library-Dateien hinzugefügt (s. Abbildung [4] - rote und grüne Umrandung)
[1] Visual Studio auf x86 bzw. Win32 einstellen
[2] Visual Studio (C++) Projekt Eigenschaften
[3] Linker Einstellungen
[4] Zusätzliche Abhängigkeiten




→ zurück zum Hauptartikel: Praktikum SDE