martes, 13 de noviembre de 2012

Controlabilidad y Observabilidad

PM11.11. Considera el sistema


Utilizando las funciones ctrb y obsv, mostrar que el sistema es controlable y observable.

Definiciones:

  • Matriz de observabilidad: Un sistema lineal es completamente observable solo si la matriz de observabilidad se obtiene de A donde A es una matriz de nxn. En sistemas lineales el sistema es observable si el determinante de la matriz de observabilidad es diferente de 0.
  • Matriz de controlabilidad: Un sistema lineal es totalmente controlable si el determinante de la matriz de controlabilidad nxn es diferente de 0

Se puede comprobar la controlabilidad y la observabilidad de un sistema realimentado en variables de estado usando las funciones de Octave ctrb y obsv, respectivamente.
Las entradas a la función ctrb son la matriz del sistema A y la matriz de entrada B; la salida de ctrb es la matriz de controlabilidad Pc.
Las entradas a la función obsv es la matriz A y la matriz  C; la salida es la matriz de observabilidad Po.


Teniendo la teoría necesaria se puede comenzar a resolver el problema, en donde identificamos la
A = [-1 1 0; 4 0 -3;-6 8 10 ], la B = [1;0;-1] y la C = [1 2 1].
Y así queda el programa:

%Este codigo calcula la observabilidad y la controlabilidad
%de un sistema
%
function res = ObsCont()
printf('Matriz A \n')
A = [-1 1 0; 4 0 -3;-6 8 10]
%matriz B
printf('Matriz B \n')
B = [1; 0; -1]
%matriz C
printf('Matriz C \n')
C = [1 2 1]
%se calcula la matriz de controlabilidad
printf('La matriz de controlabilidad es \n')
Pc = ctrb(A, B)
%n es el determinante de la matriz de controlabilidad
printf('El determinante es \n')
n=det(Pc)
%si es diferete de 0 es controlable
if abs(n) != 0
printf('Es controlable\n')
else
printf('No es controlable\n')
end
printf('La matriz de observabilidad es \n')
Po = obsv(A,C)
%si es diferete de 0 es observable
if abs(n) != 0
printf('Es observable\n')
else
printf('No es observable\n')
end
end


La ejecución:

octave:5> source('contobs.m')
octave:6> ObsCont()
Matriz A
A =
-1 1 0
4 0 -3
-6 8 10
Matriz B
B =
1
0
-1
Matriz C
C =
1 2 1
La matriz de controlabilidad es
Pc =
1 -1 8
0 7 44
-1 -16 -98
El determinante es
n = 118
Es controlable
La matriz de observabilidad es
Po =
1 2 1
1 9 4
11 33 13
Es observable
view raw gistfile1.sh hosted with ❤ by GitHub


Y podemos ver con el programa que el sistema es observable y controlable.


Referencias

Sistemas de control moderno, 10a edición, Richard C. Dorf, Robert H. Bishop, PEARSON.


4 comentarios:

  1. Hola Cecilia como estas, como haces para correr el software en el matlabt tengo un ejercicion que ya lo tengo listo pero no se como hacer el ejercicio.
    Mil gracias

    ResponderEliminar