|
|
LQR : Lösen der Riccati Gleichung |
|
Eyto |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.06.2015, 16:39
Titel: LQR : Lösen der Riccati Gleichung
|
|
Hallo MATLAB Forum,
ich stehe vor einem Problem, dass ich nicht lösen kann. Vielleicht könnt ihr mir ja helfen.
Ich habe einen LQR Regler, mit den Matrizen A,B,C und möchte die Riccati Gleichung lösen, sodass ich die Verstärkung K berechnen kann. Dies alles soll aber ohne die Funktion care, are geschehen. Das es die Control Toolbox Bibliothek gibt,
ist mir auch klar allerdings soll das später auf einer Hardware laufen die keine Matlab Libs. hat.
Danke im vorraus.
|
|
|
|
|
EliteTUM |
Forum-Fortgeschrittener
|
|
Beiträge: 70
|
|
|
|
Anmeldedatum: 21.04.11
|
|
|
|
Wohnort: München
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.02.2016, 23:32
Titel:
|
|
etwas späte Antwort, aber bei unendlichem Zeithorizont wird die Riccati-Gleichung sowieso zu einer umstellbaren Gleichung. Wenn du für zeitlichen finiten Horizont die Differentialgleichung lösen willst, kannst du ja einfach die Differentialgleichung aufstellen und dann mit einem der Befehle von MATLAB zur numerischen Integration (z.B. ode45(...)) bis zum Zeitpunkt T integrieren. Der Wert P(T), also der letzte Wert der Simulation von P ist dann deine Matrix S.
Alternativ kannst du die Differentialgleichung ja auch in Simulink mit einem Integrator und einer Rückkopplung umsetzen und lösen lassen. Das ganze über Simulink Coder als Code erzeugt lässt sich dann beliebig in andere Applikationen integrieren.
_________________
- EliteTUM
_____________________________________
|
|
|
AKNOT |
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 12.10.11
|
|
|
|
Wohnort: Bochum
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 04.02.2016, 10:21
Titel:
|
|
Hi,
es wird sicher um den finiten Zeithorizont gehen. Da wird die algebraische Riccatigleichung normalerweise beim Einsatz auf Mikrocontrollern iterativ bis zur Unterschreitung einer Genauigkeitsgrenze gelöst.
Da gibt es mehrere Ansätze zu, hier werden ein paar gezeigt. Ein fertiges Codebeispiel, vielleicht auch speziell für LQR habe ich dazu auch nicht parat.
|
|
|
GastYZ |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.03.2016, 21:14
Titel: noch aktuell?
|
|
Ist die Frage noch aktuell?
|
|
|
AKNOT |
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 12.10.11
|
|
|
|
Wohnort: Bochum
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 14.03.2016, 09:25
Titel:
|
|
Wenn du was beitragen kannst, lass dich nicht abhalten
|
|
|
|
|
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.
|
|