S-Function in Matlab

Gast #2134671
Hallo,

ich bin seit ein paar Tagen dabei zu versuchen, eine stinknormale 
billige C-Funktion in Matlab einzubinden.

Habe es sowohl auf Basis des "timestwo" Beispiel, als auch durch 
Komplettes Neu-Erzeugen probiert.

Bin weder im Internet noch in der Matlab-Hilfe schlauer geworden.


Kann doch nicht sein, dass das so schwierig ist!?


Meine Vorgehensweise:

- Ich nehme den "timestwo"-Block, nenne ihn in "timestwo_2" um und drück 
auf Apply. (die timestwo_2 soll dann stellvertretend für eine eigene 
Funktion sein, die aber erstmal nichts anderes macht als, die 
"timestwo".
- Ich click auf "Edit" => "Open Editor" und speicher diese Datei im 
Worspace als "timestwo_2.c" ab.
- Ich schließe die Datei und klicke zur Überprüfung nochmals auf "Edit" 
=> Es öffnet sich die "timestwo_2.c" - Datei.
- Nun geh ich in den Matlab-Ordner in dem die Original timestwo.c Datei 
liegt. Den Inhalt kopiere ich und packe ihn in meine "timestwo_2.c".
- Ich ändere die Zeile "#define S_FUNCTION_NAME  timestwo" in "#define 
S_FUNCTION_NAME  timestwo_2" und speicher es ab.

- Nun möchte ich das Model testen und es kommt die Fehlermeldung:
"Error in S-function 'sfcndemo_timestwo/Input Times 2 S-Function': 
S-Function 'timestwo_2' does not exist"



Kann mir jemand helfen? Vielen Dank.
Hallo,
genau du musst diese zuerst kompilieren, wie bereits von startrekmichi 
geschrieben. Wenn es nicht auf sofort klappt mit mex -setup einen 
Compiler auswählen. Bzw. wenn du Matlab 64 Bit verwendest musst du 
zuerst einen nachinstallieren (z.B. VS von MS).


Vielleicht auch hilfreich für den Anfang -> der S-Function-Builder von 
Matlab:
http://www.mathworks.com/help/toolbox/simulink/slref/sfunctionbuilder.html


mfg
Christoph
Gast
Hallo Leute,

vielen Dank für eure Antworten. Bin die nächsten Tage leider noch mit 
nem anderen Thema beschäftigt, aber eure Antworten werden mir bestimmt 
weiterhelfen.

Danke!


Daniel

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.