Main Content

rlocus

Grafico del luogo della radice del sistema dinamico

Descrizione

esempio

rlocus(sys) calcola e traccia il luogo della radice del modello SISO sys. Il luogo della radice restituisce 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 tracciare il diagramma del luogo della radice di uno dei seguenti loop di feedback negativo utilizzando sys come mostrato di seguito:

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 luogo della radice raffigura le traiettorie dei poli a loop chiuso quando il guadagno di feedback k varia da 0 a infinito. rlocus seleziona in modo adattivo un insieme di guadagni positivi k per produrre un grafico uniforme. I poli sul grafico del luogo della radice sono indicati con x e gli zero con o.

esempio

rlocus(sys1,sys2,...) traccia i luoghi della radice di più modelli LTI sys1, sys2,... su un unico grafico. Per ciascun modello, è possibile specificare un colore, uno stile di linea e un marcatore. Per ulteriori opzioni di personalizzazione dei grafici, vedere rlocusplot.

esempio

[r,k] = rlocus(sys) restituisce il vettore dei guadagni di feedback k e le posizioni delle radici complesse r per questi guadagni.

esempio

r = rlocus(sys,k) utilizza il vettore dei guadagni di feedback k specificato dall'utente per generare poli a loop chiuso r che definiscono il grafico del luogo della radice.

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)

Figure contains an axes object. The axes object contains 4 objects of type line. One or more of the lines displays its values using only markers This object represents sys.

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

Figure contains an axes object. The axes object contains 13 objects of type line. One or more of the lines displays its values using only markers These objects represent sys1, sys2, sys3.

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 della funzione di trasferimento SISO:

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

Utilizzare il modello della 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)

Figure contains an axes object. The axes object contains 6 objects of type line. One or more of the lines displays its values using only markers This object represents sys.

Argomenti di input

comprimi tutto

Sistema dinamico SISO, specificato in uno dei seguenti modi:

  • Modelli LTI numerici a tempo continuo o a tempo discreto che includono modelli tf, zpk o ss.

  • 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™).

    rlocus assume

    • i valori attuali dei componenti sincronizzabili per i blocchi di progettazione del controllo di sincronizzazione.

    • i valori nominali del modello per i blocchi di progettazione del controllo incerto.

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

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 in k, 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

Cronologia versioni

Introduzione prima di R2006a