Manual de Scilab/Xcos/Control en el espacio de estados
Controlabilidad y Observabilidad
[editar]Dado
Donde:
Observabilidad
[editar]Calculo de la matriz observabilidad
oe1=obsv_mat(a,c)
oe1 =
2. 7. 1.
- 4. - 28. 1.
8. 175. 1.
Es de interes saber si el sistema es observable, por lo que puedo calcular el determinante de la matriz oe1 o calcular el rango.
det(oe1)
ans =
- 798.
-->rank(oe1)
ans =
3.
El sistema del ejemplo es observable.
Controlabilidad
[editar]Matriz controlabilidad:
-->ce1=cont_mat(A,B)
ce1 =
3.8 - 0.6 - 47.8
1. - 7. 49.
0. 7. - 42.
-->dce1=det(ce1)
dce1 =
- 546.
-->rank(ce1)
ans =
3.
También como en el caso de la observabilidad cálculo el determinante y si es menor a cero o si el rango de la matriz es igual al rango de la matriz A el sistema es controlable.
Asignación de polos de un sistema
[editar]En scilab se utiliza el comando "ppol" que esta programado por P.H. Petkov. Se puede consultar la ayuda de Scilab para una referencia rápida de como se utiliza el comando tipeando "help ppol".
Ejemplo
[editar]Dado:
Lo polos deseados del sistema estarán en:
A=[0 0;1 0];B=[1,52;0];C=[0 1];
polos=[-1.5+%i*1.5; -1.5-%i*1.5];
-->k=ppol(A,B,polos)
k =
1.9736842 2.9605263
Verificación de la asignación de polos
[editar]Para la verificación de la asignación de polos comprobamos los autovalores de lazo cerrado del sistema. Para esto utilizamos el comando "spec".
-->spec(A-B*k)
ans =
- 1.5 + 1.5i
- 1.5 - 1.5i