Manual de Scilab/Xcos/Control en el espacio de estados

← Sistemas en tiempo discreto Control en el espacio de estados Interfaz web para Scilab →
Manual de Scilab/Xcos


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

Control Optimo

editar

Referencias

editar