WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Einbinden von function handles in Simulink

 

Suppenhuhn
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 09.12.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 07.03.2011, 14:22     Titel: Einbinden von function handles in Simulink
  Antworten mit Zitat      
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 !?
Private Nachricht senden Benutzer-Profile anzeigen


Suppenhuhn
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 09.12.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 08.03.2011, 05:38     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Suppenhuhn
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 09.12.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 10.03.2011, 08:08     Titel:
  Antworten mit Zitat      
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...!?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.