Contenu principal

obsvf

Calculer la forme en escalier d’observabilité

Syntaxe

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

Description

Si la matrice d’observabilité de (A,C) possède un rang rn, où n est de la taille de A, alors il existe une transformation de similarité de sorte que

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

T est unitaire et le système transformé possède une forme en escalier, avec les modes inobservables, le cas échéant, dans le coin supérieur gauche.

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

où (Co, Ao) est observable, et les valeurs propres de Ano sont les modes inobservables.

[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C) décompose le système de représentation d’état avec les matrices A, B et C dans la forme en escalier d’observabilité, Abar, Bbar et Cbar, comme décrit ci-dessus. T est la matrice de transformation de similarité et k est un vecteur de longueur n, où n est le nombre d’états dans A. Chaque entrée de k représente le nombre d’états observables non pris en compte à chaque étape du calcul de la matrice de transformation [1]. Le nombre d’éléments non nuls de k indique combien d’itérations ont été nécessaires au calcul de T, et sum(k) est le nombre d’états de Ao, la portion observable de Abar.

obsvf(A,B,C,tol) utilise la tolérance tol lors du calcul des sous-espaces observables/inobservables. Quand la tolérance n’est pas spécifiée, elle est par défaut de 10*n*norm(a,1)*eps.

Exemples

Formez la forme en escalier d’observabilité

A =
     1     1
     4    -2

B =
     1    -1
     1    -1

C =
     1     0
     0     1

en saisissant

[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

Algorithmes

obsvf implémente l’algorithme en escalier de [1] en appelant ctrbf et en utilisant la dualité.

Références

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

Historique des versions

Introduit avant R2006a

Voir aussi

|