|
|
Einbinden von function handles in Simulink |
|
Suppenhuhn |
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 09.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 07.03.2011, 14:22
Titel: Einbinden von function handles in Simulink
|
|
Hallo,
eine Frage (hoffentlich halbwegs verständlich):
Ich habe vereinfacht ausgedrückt in Matlab (ohne Simulink) eine Funktion f(x)=a*x(1)+b*x(2) als .m-file definiert und einen genetischen Algorithmus ga(@Funktion,2) mit dem zugehörigen function handle gestartet und damit für gegebene a,b die optimale Lösung errechnet.
So, nun will ich das Gleiche in Simulink einbinden - und zwar dergestalt, dass ich über den Regelkreislauf aktuelle (sich laufend ändernde) Werte für a und b bekomme.
Ich habe jetzt die Funktion als s-function geschrieben und möchte sie in meinen Regelkreis einfügen. Aber wie bzw. wo füge ich dann den Aufruf meines genetischen Algorithmus -also meines function handle- ein !?
|
|
|
|
|
Suppenhuhn |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 09.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 08.03.2011, 05:38
Titel:
|
|
Mhmm, dann beantworte ich mich mal selbst mit einer Vermutung.
Wahrscheinlich muss ich in den Block Properties meiner s-function den (das?) function handle ga(@Funktion,nvars) als callback z.B. bei LoadFcn einfügen....
Klappt allerdings immer noch nicht so ganz !? Aber der Weg müsste eigentlich richtig sein.
|
|
|
Suppenhuhn |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 09.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 10.03.2011, 08:08
Titel:
|
|
Irgendwie komme ich mit den Callbacks nicht klar.
Wenn ich bei Block Properties meiner s-function bei OpenFcn den Befehl set_param('Los') eingebe - und Los.m enthält den Befehl ga(@Funktion,nvars) bekomme ich die Fehlermeldung:
"Error evaluating registered method 'Outputs' of M-S-Function '[Name]' in '[Name]/Level-2 M-file S-Function'. The following error occurred converting from double to opaque:
Error using ==> horzcat
Undefined function or method 'opaque' for input arguments of type 'double'. The following is the MATLAB call stack (file names and line numbers) that produced this error:
[Name der s-function] [126]"
In der Zeile 126 taucht quasi das erste Mal eine Variable a auf, die mein genetischer Algorithmus ja minimieren soll.
Wo oder wie kann ich den sonst meinen Befehl ga(@Funktion,nvars') einbauen, so dass es klappt ....!? Irgendwie verstehe ich dieses Schreiben der Callbacks nicht...!?
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|