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.
Wenn mich grade nicht alles täuscht, musst du die *.c ja erst mal kompilieren. In Matlab z.b. mit "mex timestwo_2.c".
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
Die Matlab Hilfe zu S-Funktionen ist viel zu lang, detailliert und kompliziert. Mehr Nachschlagewerk als Einstiegshilfe. Versuch es mal damit: http://masters.donntu.edu.ua/2005/fvti/kravtsov/library/sfunctions.pdf
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.