Contenuto principale

rlocus

Luogo della radice del sistema dinamico

Descrizione

[r,kout] = rlocus(sys) calcola il luogo della radice del modello SISO sys e restituisce il vettore risultante dei guadagni di feedback k e le corrispondenti posizioni complesse della radice r.

Per produrre un luogo della radice regolare, rlocus seleziona automaticamente un insieme di guadagni di feedback positivi.

Per ulteriori informazioni sul luogo della radice di un sistema dinamico, vedere Algoritmi.

esempio

r = rlocus(sys,k) restituisce i poli a loop chiuso corrispondenti ai guadagni di feedback specificati in k.

esempio

rlocus(___) traccia il luogo della radice del modello SISO sys con le opzioni di plottaggio predefinite per tutte le precedenti combinazioni di argomenti di input. Per ulteriori opzioni di personalizzazione dei grafici, utilizzare rlocusplot.

  • Per tracciare il luogo della radice di più sistemi dinamici sullo stesso grafico, è possibile specificare sys come un elenco di modelli separati da virgole. Ad esempio, rlocus(sys1,sys2,sys3) traccia il luogo della radice di tre modelli sullo stesso grafico.

  • Per specificare un colore, uno stile della linea e un marcatore per ogni sistema nel grafico, specificare un valore LineSpec per ciascun sistema. Ad esempio, rlocus(sys1,LineSpec1,sys2,LineSpec2) traccia due modelli e ne specifica lo stile di plottaggio. Per ulteriori informazioni sulla specifica di un valore LineSpec, vedere rlocusplot.

Esempi

comprimi tutto

Per questo esempio, tracciare il luogo della radice del seguente sistema dinamico SISO:

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

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

MATLAB figure

I poli del sistema sono indicati con x, mentre gli zeri sono indicati con o sul grafico del luogo della radice. È possibile utilizzare il menu all'interno del grafico del luogo della radice generato per aggiungere linee di griglia, ingrandire o ridurre il grafico e richiamare l'Editor delle proprietà per personalizzarlo.

Per ulteriori opzioni di personalizzazione dei grafici, utilizzare rlocusplot.

Per questo esempio, considerare che sisoModels.mat contenga i tre seguenti modelli SISO:

  • un modello di funzione di trasferimento sys1 -

  • un modello stato-spazio sys2 -

  • un modello di guadagno con polo zero sys3 -

Caricare i modelli dal file mat.

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

Creare il grafico del luogo della radice utilizzando rlocus e specificare il colore per ciascun sistema. Aggiungere inoltre una legenda al grafico del luogo della radice.

rlocus(sys1,'b',sys2,'k',sys3,'r')
hold on
legend('sys1','sys2','sys3')
hold off

MATLAB figure

La figura contiene i diagrammi del luogo della radice per tutti e tre i sistemi nello stesso grafico. Per ulteriori opzioni di personalizzazione dei grafici, vedere rlocusplot.

Per questo esempio, si consideri il seguente modello di funzione di trasferimento SISO:

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

Utilizzare il modello di funzione di trasferimento di cui sopra con rlocus per estrarre i poli a loop chiuso e i valori di guadagno di feedback associati.

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

Poiché sys contiene 3 poli, la grandezza dell'array di poli risultante r sarà 3x53. Ciascuna colonna di r corrisponde a un valore di guadagno del vettore k. Per questo esempio, rlocus ha scelto automaticamente 53 valori di k da zero a infinito per ottenere una traiettoria uniforme per i tre poli a loop chiuso.

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

Ad esempio, r(:,39) contiene i poli a loop chiuso di cui sopra per un valore del guadagno di feedback pari a 7,5289.

Per questo esempio, si consideri il seguente modello della funzione di trasferimento SISO:

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

Definire il modello della funzione di trasferimento e il vettore richiesto dei valori del guadagno di feedback. Per questo esempio, si consideri un insieme di valori di guadagno che variano da 1 a 8 con incrementi di 0,5 e si estraggano le posizioni dei poli a loop chiuso utilizzando 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

Poiché sys contiene 4 poli a loop chiuso, la grandezza dell'array risultante delle posizioni dei loop chiusi r è 4x9, dove le 9 colonne corrispondono ai 9 valori di guadagno specifici definiti in k.

È inoltre possibile visualizzare la traiettoria dei poli a loop chiuso per i valori specifici del guadagno in k sul grafico del luogo della radice.

rlocus(sys,k)

MATLAB figure

Argomenti di input

comprimi tutto

Sistema dinamico, specificato come modello di sistema dinamico SISO o come array di modelli del sistema dinamico. I sistemi dinamici che si possono utilizzare comprendono:

  • Modelli LTI numerici a tempo continuo o a tempo discreto, come i modelli tf, zpk o ss.

  • Modelli stato-spazio radi, come il modello sparss o il modello mechss.

  • Modelli LTI generalizzati o incerti, come i modelli genss o uss (Robust Control Toolbox). Per utilizzare i modelli incerti è necessario disporre del software Robust Control Toolbox™.

    • Per i blocchi di progettazione di controllo sincronizzabili, la funzione valuta il modello al suo valore corrente per tracciare la risposta.

    • Per i blocchi di progettazione di controllo incerti, la funzione traccia il valore nominale e i campioni casuali del modello.

  • Modelli LTI identificati, come i modelli idtf (System Identification Toolbox), idss (System Identification Toolbox) o idproc (System Identification Toolbox). Per utilizzare i modelli identificati è necessario disporre del software System Identification Toolbox™.

Se sys è un array di modelli, il grafico mostra le risposte di tutti i modelli dell'array sugli stessi assi.

Valori del guadagno di feedback relativi alle posizioni dei poli, specificati come vettore. I guadagni di feedback definiscono la traiettoria dei poli, influenzando quindi la forma del grafico del luogo della radice.

Argomenti di output

comprimi tutto

Posizioni dei poli a loop chiuso di sys corrispondenti a ciascun valore del guadagno di feedback in kout, restituiti come un array N x M, dove N è il numero di poli a loop chiuso di sys e M è max(length(k)).

Valori del guadagno di feedback relativi alle posizioni dei poli, restituiti come vettore. I guadagni di feedback definiscono la traiettoria dei poli, influenzando quindi la forma del grafico del luogo della radice. Quando k non è definito dall'utente, rlocus seleziona in modo adattivo un insieme di guadagni positivi k compresi tra zero e infinito, per produrre un grafico uniforme.

Suggerimenti

  • Per un approccio interattivo al plottaggio del luogo della radice, vedere Control System Designer.

  • Per ulteriori opzioni di personalizzazione dell'aspetto del diagramma del luogo della radice, utilizzare rlocusplot.

  • I grafici creati utilizzando rlocus non supportano titoli o etichette su più righe specificati come array di stringhe o array di celle di vettori di caratteri. Per specificare titoli ed etichette su più righe, utilizzare una singola stringa con un carattere newline.

    rlocus(sys)
    title("first line" + newline + "second line");

Algoritmi

Il luogo della radice di un sistema dinamico contiene le traiettorie dei poli a loop chiuso in funzione del guadagno di feedback k (assumendo un feedback negativo). I luoghi delle radici sono utilizzati per studiare gli effetti della variazione dei guadagni sulle posizioni dei poli a loop chiuso. A loro volta, queste posizioni forniscono informazioni indirette sulle risposte di tempo e di frequenza.

È possibile utilizzare rlocus per calcolare il diagramma del luogo della radice di uno dei seguenti loop di feedback negativo utilizzando sys come mostrato nella figura seguente.

Ad esempio, se sys è una funzione di trasferimento rappresentata da

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

i poli a loop chiuso sono le radici di

d(s)+kn(s)=0

Il diagramma del luogo della radice raffigura le traiettorie dei poli a loop chiuso al variare del feedback k da 0 a infinito.

Cronologia versioni

Introduzione prima di R2006a

espandi tutto