Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

ctrb

Matriz de controlabilidad

Sintaxis

Co = ctrb(A,B)
Co = ctrb(sys)

Descripción

Co = ctrb(A,B) devuelve la matriz de controlabilidad:

Co=[BABA2BAn1B]

donde A es una matriz de n por n, B es una matriz de n por m y Co tiene n filas y nm columnas.

Co = ctrb(sys) calcula la matriz de controlabilidad del objeto LTI de espacio de estados sys. Esta sintaxis equivale a:

Co = ctrb(sys.A,sys.B);

El sistema es controlable si Co tiene un rango total n.

Ejemplos

contraer todo

Defina las matrices A y B.

A = [1  1;
     4 -2];
B = [1 -1;
     1 -1];

Calcule la matriz de controlabilidad.

Co = ctrb(A,B);

Determine el número de estados no controlables.

unco = length(A) - rank(Co)
unco = 1

El estado no controlable indica que Co no tiene un rango total 2. Por tanto, el sistema no es controlable.

Limitaciones

Estimar el rango de la matriz de controlabilidad es muy sensible y genera muchos errores en los datos. Esto se puede observar en este simple ejemplo.

A=[1δ01],B=[1δ]

El par es controlable si δ0, pero si δ<eps, donde eps es la precisión mecánica relativa. ctrb(A,B) devuelve

[BAB]=[11δδ]

que no es un rango total. En estos casos, es mejor determinar la controlabilidad de un sistema con ctrbf.

Historial de versiones

Introducido antes de R2006a

Consulte también

|