Anonymous Funktionen werden vom C-Coder nicht unterstützt.
Schreib einfach eine 2. Funktion unter deine erste Funktion und beende die erste mit einem end.
_________________
Ich habe jetzt jede Funktion in eine eigene Datei geschrieben, aber ich habe nicht ganz verstanden, wie ich mit einer 2. Funktion die @-Funktion umgehen soll.
1. Ich kann diese Funktion mit einem >> multilat(rand(3,3), 3) auch nichtmals ausführen, da ich über die Klassen nicht verfüge. Vermutlich wird diese auch nicht vom C-Coder unterstützt.
2. Benutzt du immer noch eine Anonyme Funktion vergleich Zeile 4 mit Zeile 3 deiner multilat Funktion. Und Variable b ist mir in diesem Kontext auch etwas schleiferhaft.
Diese zwei Sachen musst du lösen, und dann gucken an welcher Stelle der C-Coder wieder meckert I.d.R. muss man z.B. die ganzen Outputs (in deinem Fall nlm, beta ...) preallocieren. In Matlab ist alles schwach typisiert, in C alles strickt.
_________________
Da NonLinearModel.fit nicht in der Liste auftaucht, ist es für die Codegenerierung nicht unterstützt. Vermutlich wird es dir nicht helfen, die Funktion als extrinsisch zu definieren? Alternativ kann man höchstens den Umweg über fminsearch gehen, was seit kurzem (R2014a?) unterstützt wird.
Mal eine ganz andere Frage: warum möchtest du daraus denn Code generieren?
Die Funktion als extrinsisch zu definieren habe ich versucht, hat leider auch nicht geholfen.
Der Code soll später auf einem Mikrocontroller laufen, deshalb brauche ich ihn in C. Ich dachte ich könnte mir Arbeit sparen indem ich die Matlab Funktion benutze, anstatt einen eigenen Algorithmus zu schreiben, da NonLinearModel.fit genau mein Problem löst. Leider zu früh gefreut
Die Option mit fminsearch sieht interessant aus, danke für den Tipp. Vielleicht kann das mir ja wenigstens etwas Arbeit abnehmen.
Auf jeden Fall schon mal danke, für die schnelle und gute Hilfe hier im Forum, falls ich noch eine Möglichkeit finde, werde ich sie posten.
Die Funktion als extrinsisch zu definieren habe ich versucht, hat leider auch nicht geholfen.
Auch wenn es zunächst klappen würde, hilft es ja nichts, wenn der Code letztlich auf dem Mikrocontroller laufen soll. Es bleibt also nur die Umformulierung.
Grüße,
Harald
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.