Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

rlocus

Wurzelort dynamischer Systeme

Beschreibung

[r,kout] = rlocus(sys) berechnet den Wurzelort des SISO-Modells sys und gibt den resultierenden Vektor der Feedback-Verstärkungsfaktoren k und der entsprechenden komplexen Wurzelorte r aus.

Um einen gleichmäßigen Wurzelort zu erzeugen, wählt rlocus automatisch einen Satz positiver Feedback-Verstärkungsfaktoren aus.

Weitere Informationen zum Wurzelort eines dynamischen Systems finden Sie unter Algorithmen.

Beispiel

r = rlocus(sys,k) gibt die Pole der geschlossenen Regelkreise gemäß der in k angegebenen Feedback-Verstärkungsfaktoren aus.

Beispiel

rlocus(___) stellt den Wurzelort des SISO-Modells sys mit Standard-Diagrammoptionen für alle vorherigen Kombinationen von Eingangsargumenten dar. Weitere Informationen zu den Anpassungsmöglichkeiten von Diagrammen finden Sie unter rlocusplot.

  • Um den Wurzelort für mehrere dynamische Systeme auf einem Diagramm darzustellen, können Sie sys als eine kommagetrennte Liste von Modellen angeben. Mithilfe von rlocus(sys1,sys2,sys3) können Sie beispielsweise den Wurzelort dreier Modell auf demselben Diagramm darstellen.

  • Um eine Farbe, einen Linienstil und eine Markierung für jedes System im Diagramm darzustellen, geben Sie für jedes System einen Wert LineSpec an. Mithilfe von rlocus(sys1,LineSpec1,sys2,LineSpec2) können Sie beispielsweise zwei Modelle zeichnen und deren Diagrammstil festlegen. Weitere Informationen zum Festlegen eines LineSpec-Werts finden Sie unter rlocusplot.

Beispiele

alle reduzieren

In diesem Beispiel wird der Wurzelort des folgenden dynamischen SISO-Systems grafisch dargestellt:

sys(s)=2s2+5s+1s2+2s+3.

sys = tf([2 5 1],[1 2 3]);
rlocus(sys)

MATLAB figure

Die Polstellen des Systems werden in der Wurzelortskurve mit x und die Nullstellen mit o bezeichnet. Sie können das Menü in der generierten Wurzelortskurve verwenden, um Gitterlinien hinzuzufügen, einen Bereich zu vergrößern oder zu verkleinern und um den Eigenschaftseditor aufzurufen, um die Kurve anzupassen.

Weitere Informationen zu den Anpassungsmöglichkeiten von Diagrammen finden Sie unter rlocusplot.

Betrachten Sie in diesem Beispiel sisoModels.mat, welches die folgenden drei SISO-Modelle enthält:

  • sys1 - ein Transferfunktionsmodell

  • sys2 - ein Zustandsraummodell

  • sys3 - ein Null-Polstellen-Verstärkungsmodell

Laden Sie die Modelle aus der mat-Datei.

load('sisoModels.mat','sys1','sys2','sys3');

Erstellen Sie die Wurzelortskurve mithilfe von rlocus und legen Sie die Farbe für jedes System fest. Fügen Sie auch eine Legende zur Wurzelortskurve hinzu.

rlocus(sys1,'b',sys2,'k',sys3,'r')
hold on
legend('sys1','sys2','sys3')
ans = 
  Legend (sys1, sys2, sys3) with properties:

         String: {'sys1'  'sys2'  'sys3'}
       Location: 'northeast'
    Orientation: 'vertical'
       FontSize: 9
       Position: [0.7459 0.7614 0.1401 0.1144]
          Units: 'normalized'

  Use GET to show all properties

hold off

MATLAB figure

Die Abbildung enthält Wurzelortskurven für alle drei Systeme im gleichen Diagramm. Weitere Informationen zur Anpassung von Diagrammen finden Sie unter rlocusplot.

Betrachten Sie in diesem Beispiel das folgende SISO-Transferfunktionsmodell:

sys(s)=3s2+19s3+7s2+5s+6

Verwenden Sie das oben genannte Transferfunktionsmodell mit rlocus, um die Polstellen des geschlossenen Regelkreises und die zugehörigen Feedback-Verstärkungswerte zu extrahieren.

sys = tf([3 0 1],[9 7 5 6]);
[r,k] = rlocus(sys)
r = 3×53 complex
102 ×

  -0.0094 + 0.0000i  -0.0104 + 0.0000i  -0.0105 + 0.0000i  -0.0106 + 0.0000i  -0.0107 + 0.0000i  -0.0108 + 0.0000i  -0.0109 + 0.0000i  -0.0111 + 0.0000i  -0.0112 + 0.0000i  -0.0113 + 0.0000i  -0.0115 + 0.0000i  -0.0117 + 0.0000i  -0.0119 + 0.0000i  -0.0121 + 0.0000i  -0.0124 + 0.0000i  -0.0126 + 0.0000i  -0.0129 + 0.0000i  -0.0132 + 0.0000i  -0.0135 + 0.0000i  -0.0139 + 0.0000i  -0.0143 + 0.0000i  -0.0148 + 0.0000i  -0.0152 + 0.0000i  -0.0158 + 0.0000i  -0.0163 + 0.0000i  -0.0170 + 0.0000i  -0.0177 + 0.0000i  -0.0184 + 0.0000i  -0.0192 + 0.0000i  -0.0201 + 0.0000i  -0.0211 + 0.0000i  -0.0222 + 0.0000i  -0.0233 + 0.0000i  -0.0246 + 0.0000i  -0.0259 + 0.0000i  -0.0274 + 0.0000i  -0.0290 + 0.0000i  -0.0307 + 0.0000i  -0.0326 + 0.0000i  -0.0346 + 0.0000i  -0.0368 + 0.0000i  -0.0392 + 0.0000i  -0.0418 + 0.0000i  -0.0446 + 0.0000i  -0.0476 + 0.0000i  -0.0508 + 0.0000i  -0.0543 + 0.0000i  -0.0582 + 0.0000i  -0.0623 + 0.0000i  -0.0667 + 0.0000i
   0.0008 + 0.0084i   0.0006 + 0.0083i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0081i   0.0005 + 0.0081i   0.0004 + 0.0081i   0.0004 + 0.0081i   0.0004 + 0.0080i   0.0004 + 0.0080i   0.0003 + 0.0080i   0.0003 + 0.0080i   0.0003 + 0.0079i   0.0002 + 0.0079i   0.0002 + 0.0078i   0.0002 + 0.0078i   0.0002 + 0.0078i   0.0001 + 0.0077i   0.0001 + 0.0077i   0.0001 + 0.0076i   0.0000 + 0.0076i   0.0000 + 0.0075i  -0.0000 + 0.0074i  -0.0000 + 0.0074i  -0.0000 + 0.0073i  -0.0001 + 0.0073i  -0.0001 + 0.0072i  -0.0001 + 0.0071i  -0.0001 + 0.0071i  -0.0001 + 0.0070i  -0.0001 + 0.0070i  -0.0001 + 0.0069i  -0.0001 + 0.0068i  -0.0001 + 0.0068i  -0.0001 + 0.0067i  -0.0001 + 0.0067i  -0.0001 + 0.0066i  -0.0001 + 0.0066i  -0.0001 + 0.0065i  -0.0001 + 0.0065i  -0.0001 + 0.0064i  -0.0001 + 0.0064i  -0.0001 + 0.0064i  -0.0001 + 0.0063i  -0.0001 + 0.0063i
   0.0008 - 0.0084i   0.0006 - 0.0083i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0081i   0.0005 - 0.0081i   0.0004 - 0.0081i   0.0004 - 0.0081i   0.0004 - 0.0080i   0.0004 - 0.0080i   0.0003 - 0.0080i   0.0003 - 0.0080i   0.0003 - 0.0079i   0.0002 - 0.0079i   0.0002 - 0.0078i   0.0002 - 0.0078i   0.0002 - 0.0078i   0.0001 - 0.0077i   0.0001 - 0.0077i   0.0001 - 0.0076i   0.0000 - 0.0076i   0.0000 - 0.0075i  -0.0000 - 0.0074i  -0.0000 - 0.0074i  -0.0000 - 0.0073i  -0.0001 - 0.0073i  -0.0001 - 0.0072i  -0.0001 - 0.0071i  -0.0001 - 0.0071i  -0.0001 - 0.0070i  -0.0001 - 0.0070i  -0.0001 - 0.0069i  -0.0001 - 0.0068i  -0.0001 - 0.0068i  -0.0001 - 0.0067i  -0.0001 - 0.0067i  -0.0001 - 0.0066i  -0.0001 - 0.0066i  -0.0001 - 0.0065i  -0.0001 - 0.0065i  -0.0001 - 0.0064i  -0.0001 - 0.0064i  -0.0001 - 0.0064i  -0.0001 - 0.0063i  -0.0001 - 0.0063i

k = 1×53

         0    0.4201    0.4542    0.4911    0.5309    0.5740    0.6205    0.6709    0.7253    0.7841    0.8477    0.9165    0.9908    1.0712    1.1581    1.2521    1.3536    1.4634    1.5822    1.7105    1.8493    1.9993    2.1614    2.3368    2.5263    2.7313    2.9529    3.1924    3.4514    3.7313    4.0340    4.3613    4.7151    5.0975    5.5111    5.9581    6.4415    6.9640    7.5289    8.1397    8.8000    9.5138   10.2856   11.1200   12.0220   12.9973   14.0516   15.1915   16.4238   17.7561

Da sys 3 Polstellen enthält, beträgt die Größe des resultierenden Arrays der Polstellen r 3x53. Jede Spalte in r entspricht einem Verstärkungswert aus dem Vektor k. Für dieses Beispiel wählte rlocus automatisch 53 Werte von k von Null bis Unendlich, um eine glatte Bahn für die drei Polstellen des geschlossenen Regelkreises zu erhalten.

display(r(:,39))
  -3.2585 + 0.0000i
  -0.0145 + 0.6791i
  -0.0145 - 0.6791i
display(k(39))
    7.5289

So enthält z. B. r(:,39) die oben genannten Polstellen des geschlossenen Regelkreises für einen Feedback-Verstärkungswert von 7.5289.

Betrachten Sie in diesem Beispiel das folgende SISO-Transferfunktionsmodell:

sys(s)=0.5s2-14s4+3s2+2

Definieren Sie das Transferfunktionsmodell und den erforderlichen Vektor der Feedback-Verstärkungswerte. Betrachten Sie für dieses Beispiel eine Reihe von Verstärkungswerten, die von 1 bis 8 mit Inkrementen von 0,5 variieren, und extrahieren Sie die Polstellen des geschlossenen Regelkreises mit rlocus.

sys = tf([0.5 0 -1],[4 0 3 0 2]);
k = (1:0.5:5);
r = rlocus(sys,k);
size(r)
ans = 1×2

     4     9

Da sys 4 Polstellen im geschlossenen Regelkreis enthält, beträgt die Größe des resultierenden Arrays der Positionen der geschlossenen Polstellen r 4x9, wobei die 9 Spalten den 9 spezifischen Verstärkungswerten entsprechen, die in k definiert sind.

Sie können den Bahnverlauf der Polstellen des geschlossenen Regelkreises für die spezifischen Verstärkungswerte in k auch auf der Wurzelortkurve visualisieren.

rlocus(sys,k)

MATLAB figure

Eingabeargumente

alle reduzieren

Dynamisches System, das als SISO-Modell für dynamische Systeme oder als Array von dynamischen Systemmodellen angegeben wird. Zu den dynamischen Systemen, die Sie verwenden können, zählen:

  • Zeitkontinuierliche oder zeitdiskrete numerische LTI-Modelle, wie tf-, zpk- oder ss-Modelle.

  • Schwach besetzte Zustandsraummodelle wie sparss- oder mechss-Modelle.

  • Verallgemeinerte oder unsichere LTI-Modelle wie z. B. genss- oder uss (Robust Control Toolbox)-Modelle. Für die Verwendung unsicherer Modelle ist die Software Robust Control Toolbox™ erforderlich.

    • Bei optimierbaren Regelungsentwurf-Blöcken wertet die Funktion das Modell mit dem aktuellen Wert aus, um die Antwort darzustellen.

    • Bei unsicheren Regelungsentwurf-Blöcken stellt die Funktion den Nennwert und Zufallsstichproben des Modells dar.

  • Identifizierte LTI-Modelle wie idtf (System Identification Toolbox)-, idss (System Identification Toolbox)- oder idproc (System Identification Toolbox)-Modelle. Für die Verwendung von identifizierten Modellen ist die Software System Identification Toolbox™ erforderlich.

Handelt es sich bei sys um ein Array von Modellen, stellt das Diagramm die Antworten aller Modelle im Array auf derselben Achse dar.

Feedback-Verstärkungswerte, die sich auf die Polstellen beziehen, angegeben als Vektor. Die Feedback-Verstärkungsfaktoren bestimmen den Bahnverlauf der Polstellen und beeinflussen damit die Form der Wurzelortskurve.

Ausgangsargumente

alle reduzieren

Positionen der Polstellen im geschlossenen Regelkreis von sys, die den einzelnen Feedback-Verstärkungswerten in kout entsprechen, ausgegeben als N-mal-M-Array, wobei N die Anzahl der Polstellen im geschlossenen Regelkreis von sys und M die max(length(k)) ist.

Feedback-Verstärkungswerte, die sich auf die Polstellen beziehen, zurückgegeben als Vektor. Die Feedback-Verstärkungsfaktoren bestimmen den Bahnverlauf der Polstellen und beeinflussen damit die Form der Wurzelortskurve. Wenn k nicht vom Benutzer definiert ist, wählt rlocus adaptiv eine Reihe positiver Verstärkungsfaktoren k zwischen Null und Unendlich aus, um eine glatte Kurve zu erzeugen.

Tipps

  • Informationen zu einem interaktiven Ansatz für die Darstellung von Wurzelorten finden Sie unter Control System Designer.

  • Weitere Optionen zur Anpassung der Darstellung des Wurzelort-Diagramms finden Sie unter rlocusplot.

Algorithmen

Der Wurzelort eines dynamischen Systems enthält die Polbahnen des geschlossenen Regelkreises in Abhängigkeit von der Feedback-Verstärkung k (unter der Annahme eines negativen Feedbacks). Die Wurzelorte werden verwendet, um die Auswirkungen unterschiedlicher Feedback-Verstärkungsfaktoren auf die Polstellen des geschlossenen Regelkreises zu untersuchen. Diese Orte wiederum liefern indirekte Informationen über das Zeitverhalten und die Frequenzgänge.

Sie können rlocus verwenden, um das Wurzelortsdiagramm einer der folgenden negativen Feedback-Schleifen zu berechnen, indem Sie sys wie in der folgenden Abbildung dargestellt festlegen.

Wenn sys beispielsweise eine Transferfunktion ist, die durch

sys(s)=n(s)d(s)

dargestellt ist, sind die Polstellen eines geschlossenen Regelkreises die Wurzeln von

d(s)+kn(s)=0

Das Wurzelortsdiagramm stellt die Trajektorien der Polstellen des geschlossenen Regelkreises dar, während der Feedback-Verstärkungsfaktor k von 0 bis unendlich verläuft.

Versionsverlauf

Eingeführt vor R2006a