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

Optimierung der Gewichtungsfaktoren (LQR)

 

bronsco
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 06.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.11.2010, 16:09     Titel: Optimierung der Gewichtungsfaktoren (LQR)
  Antworten mit Zitat      
Hallo zusammen!

Wie im Thema erwähnt, würde ich gerne die Gewichtungsfaktoren für eine LQ-Regelung optimieren (gegeben ist also ein lineares Zustandsraummodell x_d = Ax+Bu, y = Cx mit LQR+Vorfilter). Leider habe ich keine Ahnung von irgendwelchen Optimierungsalgorithmen bzw. deren Implementierung. Das einzige was mir einfällt, wäre ein "natürliches Vorgehen": Alle möglichen Faktorenkombinationen in einem gewissen Zahlenbereich durchlaufen lassen und "das beste" Ergebnis (ermittelt über ein Gütekriterium oder sonstiges) auswählen. Das darf ich dann bloß nicht Optimum schimpfen... Cool

Könnte mir hierbei jemand evtl. weiterhelfen? Ich denke, dass das Problem wohl schon des öfteren vorkommen dürfte, nur leider verlief meine Suche nach einer Lösung bis jetzt ergebnislos.

Vielen Dank schonmal!

Viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen


al3ko

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2010, 21:49     Titel:
  Antworten mit Zitat      
Wie hast du deine Gewichtsmatrix denn bis jetzt bestimmt?
 
bronsco
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 06.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2010, 22:11     Titel:
  Antworten mit Zitat      
ehrlich gesagt... mehr oder weniger willkürlich. ich habe zustände, über die ich eine qualitative aussage in form einer hierarchie machen kann. die weit oben stehen gewichte ich halt "viel" stärker als die anderen. bloß muss das ganze doch auch im hinblick auf ein kriterium optimierbar sein, oder?

mein betreuer hat dahingehend mal etwas vom genetischen algorithmus gesagt (function ga). die beispiele in der hilfe sind mir schon klar, bloß wie setz ich das auf mein problem um?
Private Nachricht senden Benutzer-Profile anzeigen
 
bronsco
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 06.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2010, 10:16     Titel:
  Antworten mit Zitat      
sorry, bin die letzten tage nicht mehr zu was gekommen... hat keiner eine idee?
Private Nachricht senden Benutzer-Profile anzeigen
 
al3ko

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2010, 01:06     Titel:
  Antworten mit Zitat      
Hi bronsco,
hab dich völlig vergessen. Unter willkürlich gewählt kann ich mir ehrlich gesagt nichts vorstellen. Das kann von bis gehen. Hast du die Matrix denn nach einem bestimmten Schema gewählt?

Ich habe gelernt, dass die Diagonale der Gewichtsmatrix den Kerhwert der maximalen Werte der Zustände zum Quadrat innehält. Klingt aber auch scheiße Very Happy
Okay, hier mathematisch:
Code:
1/X1² 0 0 0....
0 1/X2² 0 0....
0 0 1/X3² 0....

usw usf.

Bist du nach dem gleichen Schema vorgegangen?

Und falls du eine Lösung gefunden hast, darfst du sie uns gerne mitteilen. Ich würde gerne wissen, wie du die Gewichtsmatrix optimiert hast.
 
bronsco
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 06.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2010, 10:12     Titel:
  Antworten mit Zitat      
kein Problem! Smile

die Zahlen sind in der Tat bis jetzt willkürlich gewählt! Ein Schema hatte ich da nicht (z.B. Inverses Pendel: Wenn man als Zustände Position und Winkel hat, dann würde ich die Gewichtung der Position "verhältnismäßig" groß machen ggü. der Gewichtung des Winkels: also z.B. 10 und 2 oder 10e3 und 2 oder ...

al3ko hat Folgendes geschrieben:

Ich habe gelernt, dass die Diagonale der Gewichtsmatrix den Kerhwert der maximalen Werte der Zustände zum Quadrat innehält. Klingt aber auch scheiße Very Happy
Okay, hier mathematisch:
Code:
1/X1² 0 0 0....
0 1/X2² 0 0....
0 0 1/X3² 0....



Das die Diagonalwerte diese Bedeutung haben wusste ich nicht. Hast du da evtl. eine Quelle für? Ich dachte immer man kann die Diagonalwerte beliebig (!) wählen. Ausschlaggebend ist immer das Verhältnis der Gewichtungen zueinander.

Eine Lösung habe ich bis jetzt leider noch nicht, aber falls ich eine finde, werde ich sie posten...
Private Nachricht senden Benutzer-Profile anzeigen
 
al3ko

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2010, 11:12     Titel:
  Antworten mit Zitat      
Quelle:
http://books.google.com/books?id=BH.....onepage&q&f=false

Seite 307. Allerdings würde ich ab Seite 305 anfangen zu lesen.

Gruß
 
bronsco
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 06.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.11.2010, 15:57     Titel:
  Antworten mit Zitat      
als (vorläufige) antwort kann ich dazu folgendes sagen:

als fitnessfunction erstellt man eine function, in der man die variablen werte für die diagonalmatrizen zuweist (q_ii = x(..), r_ii = x(..)), den Regler mi lqr berechnet, eine Simulation durchführt und einen zu minimierende wert (z.B. rms) zurückgibt. als aufruf dient dann x = ga(@fitnessfct,[],...,[],lb,ub).
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.