Página anterior Volver al principio del trabajoPágina siguiente 

Controlabilidad y observabilidad de sistemas lineales (página 2)


Partes: 1, 2


%  X3]    0  -8  10]  x3]    1]

%

%              [x1

%  y=[7  2  -4] x2

%               x3]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%vectores

clc

clear all

A=[0   1  -2

   0 -16  21

   0  -8  10]

B=[0

   2

   1]

C=[7 2 -4]

 

%%%%%%%%%%%%%%%%%%Teorema de controlabilidad%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ContM=[B A*B A^2*B]

R=rank(ContM)%rango es 3, el sistema es controlable

%%%%el sistemas es completamente controlable

if R==3

   disp('como su rango es 3 el sistema es controlable')

else

   disp('sistema no controlable')

end

%%

%%metodo alternativo para la controlabilidad

ContM1=ctrb(A,B)%retorna controlabilidad de la matriz

R1=rank(ContM1) %rango es 3, comprobado

 

%%%%%%%%%%%%%%%%%%teorema de Observabilidad%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ObsM=[C

      C*A

      C*A^2]%rank calcula el # ecuaciones independientes representadas      

            %por las filas de la matriz

O=rank(ObsM)%rango es 3, el sistema es observable

%%%%el sistema es completamente observable

if O==3

   disp('como su rango es 3 el sistema es controlable')

else

   disp('sistema no controlable')

end

%%

%%metodo alternativo para observabilidad

ObsM1=obsv(A,C) %retorna la observabilidad de la matriz

O1=rank(ObsM1)  %rango es 3, comprobado

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

PROGRAMA DE CONTROL ON/OFF

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%Ejemplo de  controlador ON OFF ante una entrada senoidal%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

x = [0:0.1:8*pi]; %desde 0 hasta 8*pi en incrementos de 0.1 radianes

y = sin(x);       %vector y con los valores del seno del vector x

plot (x, y)       %gráfico del seno

[fil, col] = size(y); %filas y columnas (# de elementos) del vector y

for i=1:col %i toma valores desde 1 hasta el número de elementos de y

  if y(i)>=0

     y(i)=0.5; %cualquier valor positivo de y se convierte en +0.5

  elseif y(i)<0

     y(i)=-0.5; %cualquier valor negativo de y se convierte en -0.5

  end

end

hold

plot(x,y),title('Controlador ON/OFF'),grid %superponemos el gráfico del seno modificado

return

 

 

 

 

 

Autor:

Carlos Aparza Alfaro


Partes: 1, 2


 Página anterior Volver al principio del trabajoPágina siguiente 

Comentarios


Trabajos relacionados

Ver mas trabajos de Programacion

 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.


Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.