Contenuto principale

obsvf

Calcolare la forma a gradini dell'osservabilità

Sintassi

[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C)
obsvf(A,B,C,tol)

Descrizione

Se la matrice di osservabilità di (A,C) ha rank rn, dove n è la dimensione di A, allora esiste una trasformazione di similarità tale che

A¯=TATT,   B¯=TB,   C¯=CTT

dove T è unitario e il sistema trasformato presenta una forma a gradini, in cui le modalità non osservabili, se presenti, si trovano nell'angolo superiore sinistro.

A¯=[AnoA120Ao], B¯=[BnoBo], C¯=[0 Co]

dove (Co, Ao) è osservabile e gli autovalori di Ano sono le modalità non osservabili.

[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C) scompone il sistema stato-spazio con le matrici A, B e C in una forma a gradini dell'osservabilità Abar, Bbar e Cbar, descritta sopra. T è la matrice di trasformazione della similarità e k è un vettore di lunghezza n, dove n è il numero di stati in A. Ogni voce di k rappresenta il numero di stati osservabili non presi in considerazione durante ogni fase del calcolo della matrice di trasformazione [1]. Il numero di elementi diversi da zero in k indica quante iterazioni sono state necessarie per calcolare T e sum(k) è il numero di stati in Ao, la parte osservabile di Abar.

obsvf(A,B,C,tol) utilizza la tolleranza tol durante il calcolo dei sottospazi osservabili/non osservabili. Quando la tolleranza non è specificata, viene impostata automaticamente su 10*n*norm(a,1)*eps.

Esempi

Creare la forma a gradini dell'osservabilità

A =
     1     1
     4    -2

B =
     1    -1
     1    -1

C =
     1     0
     0     1

digitando

[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C)
Abar =
     1     1
     4    -2
Bbar =
     1     1
     1    -1
Cbar =
     1     0
     0     1
T =
     1     0
     0     1
k =
     2     0

Algoritmi

obsvf implementa l'algoritmo a gradini di [1] richiamando ctrbf e utilizzando la dualità.

Riferimenti

[1] Rosenbrock, M.M., State-Space and Multivariable Theory, John Wiley, 1970.

Cronologia versioni

Introduzione prima di R2006a

Vedi anche

|