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

Problem mit place()-Funktion

 

marky_m

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2013, 13:10     Titel: Problem mit place()-Funktion
  Antworten mit Zitat      
Hallo zusammen,
ich arbeite gerade an einem Zustandsregler für ein linearisiertes Modell, und verwende zunächst einfaches pole-placement.
Ich bin auf das Problem gestoßen, dass die place()-Funktion die Eigenwerte, die ich vorgebe, in beliebiger Reihenfolge platziert, es wäre aber wichtig, dass schnellere Pole denjenigen Zuständen zugewiesen werden, die eher am Anfang der Integrationskette des Modells liegen, die langsamen eher am Ende.
Laut Matlab-doc sollte es keine Probleme geben:
Zitat:
... In other words, the eigenvalues of A – BK match
the entries of p (up to the ordering). ...

So läuft das aber bei mir nicht. Wenn ich
Code:
EW = [-1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12];

als Eigenwerte vorgebe, hat das geregelte System hinterher folgende diagonalisierte Form:
Code:
diag([-12 -1 -11 -10 -2 -9 -8 -3 -7 -6 -5 -4])

Das System ist übrigens voll steuerbar.
Wäre froh, wenn mir da jemand helfen könnte, danke schonmal,
Marky


cyrez
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 81
Anmeldedatum: 15.09.10
Wohnort: Bayern
Version: 2020b
     Beitrag Verfasst am: 09.12.2013, 13:51     Titel:
  Antworten mit Zitat      
Hey!

Ich kann dir 2 sachen empfehlen. Sortiere die Matrizen deines ursprünglichen Systems so um, dass die Polverschiebung 1:1 übernommen wird.

Zweite Methode: Du könntest dir ein kleines Skript zur Vollständigen Modalen Synthese schreiben (max. 5 Zeilen). Damit dürfte sich die Reihefolge der Polverschiebungen festlegen lassen. Ich kann dir das Skript auch hier posten.

MfG
cyrez
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab Beginner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2016, 09:57     Titel: Identisches Problem
  Antworten mit Zitat      
Hallo zusammen Wink

Ich habe vorhin eure Unterhaltung gelesen und habe das gleiche Problem.

Ich habe dann mal versucht den Regler manuell zu entwerfen, jedoch benötige ich dafür ja bekanntlich die inverse der Steuerbarkeitsmatrix, die bei mir leider nicht quadratisch ist.
Habe ein Mehrgrößensystem und auch vollständig steuerbar.

Wenn ich nun meinen Zustandsrückführvektor berechnen lassen via place() habe ich bei der Kontrolle der Eigenwerte des geschlossenen Regelkreis A-B*K leider nicht die vorgegebene Reihenfolge der Pole.
Diese werden irgendwie zufällig verschoben.

Habe dann auch schon mit einem normalen Koeffizientenvergleich versucht, aber dafür haben ich im KT Vektor (4x2) leider 8 Unbekannte und nur 4 Gleichungen.

Als Alternative habe ich acker() versucht, dieser Befehl ist jedoch nur für SISO Systeme ausgelegt.

Ich hoffe ihr könnt mir ein paar hilfreiche Tipps übermitteln, ggf. auch das angebotene Script falls dieses auch für MIMO System geeignet ist.

B Matrix: 4x2
A Matrix : 4x4

Liebe Grüße Smile
 
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.