minreal
Realizzazione minima o cancellazione del polo zero
Sintassi
sysr = minreal(sys)
sysr = minreal(sys,tol)
[sysr,u] = minreal(sys,tol)
... = minreal(sys,tol,false)
... = minreal(sys,[],false)
Descrizione
sysr = minreal(sys)
elimina gli stati non controllabili o non osservabili nei modelli stato-spazio o cancella le coppie con polo zero nelle funzioni di trasferimento o nei modelli a guadagno zero. L'output sysr
ha un ordine minimo e presenta le stesse caratteristiche di risposta del modello originale sys
.
sysr = minreal(sys,tol)
specifica la tolleranza utilizzata per l'eliminazione degli stati o la cancellazione dei poli zero. Il valore predefinito è tol = sqrt(eps)
; l'aumento di questa tolleranza costringe a ulteriori cancellazioni.
[sysr,u] = minreal(sys,tol)
restituisce, per il modello stato-spazio sys
, una matrice ortogonale U
tale che (U*A*U',U*B,C*U')
è una decomposizione di Kalman di (A
,B
,C
)
... = minreal(sys,tol,false)
e ... = minreal(sys,[],false)
disabilitano l'output verboso della funzione. Per impostazione predefinita, minreal
visualizza un messaggio che indica il numero di stati rimossi da un modello stato-spazio sys
.
Esempi
I comandi
g = zpk([],1,1); h = tf([2 1],[1 0]); cloop = inv(1+g*h) * g
producono il modello non minimale a guadagno zero cloop
.
cloop = s (s-1) ------------------- (s-1) (s^2 + s + 1) Continuous-time zero/pole/gain model.
Per cancellare la coppia con polo zero in s = 1, digitare
cloopmin = minreal(cloop)
Questo comando produce il seguente risultato.
cloopmin = s ------------- (s^2 + s + 1) Continuous-time zero/pole/gain model.
Algoritmi
La cancellazione dei poli zero è una ricerca diretta tra i poli e gli zeri di corrispondenze entro i limiti di tolleranza. Le funzioni di trasferimento vengono prima convertite in forma di guadagno a polo zero.
Cronologia versioni
Introduzione prima di R2006a
Vedi anche
Model Reducer | balreal
| modred
| sminreal