0% encontró este documento útil (0 votos)
8 vistas1 página

Control de Sistemas en Espacio de Estados

El documento presenta un código en MATLAB para modelar un sistema en espacio de estados y su conversión a un modelo discreto. Se analizan la controlabilidad del sistema y se seleccionan raíces en los planos S y Z para el diseño de controladores. Finalmente, se obtienen los parámetros del controlador utilizando dos metodologías: una basada en el cálculo manual y otra utilizando el comando 'acker'.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas1 página

Control de Sistemas en Espacio de Estados

El documento presenta un código en MATLAB para modelar un sistema en espacio de estados y su conversión a un modelo discreto. Se analizan la controlabilidad del sistema y se seleccionan raíces en los planos S y Z para el diseño de controladores. Finalmente, se obtienen los parámetros del controlador utilizando dos metodologías: una basada en el cálculo manual y otra utilizando el comando 'acker'.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

clc

clear all
close all

Ts=0.025

%A,B,C,D del modelo en espacio de estados


%de la planta continua
A=[0 1 0; 0 -1 1; 0 0 -8];
B=[0;0;40];
C=[1 0 0];
D=[0];

%Modelo discreto de la planta


[Fi,Ga,Cd,Dc]=c2dm(A,B,C,D,Ts,'zoh');

%Analizando controlabilidad
S=[Ga Fi*Ga Fi^2*Ga];
Rango=rank(S)

%Seleccion de raices plano S


tao=0.75;
Te=2;
Wn=4/(tao*Te);

s1=-tao*Wn+j*Wn*sqrt(1-tao^2);
s2=-tao*Wn-j*Wn*sqrt(1-tao^2);
s3=-5*tao*Wn;%5 veces mas grande la parte real

%Seleccion de raices plano z


z1=exp(Ts*s1);
z2=exp(Ts*s2);
z3=exp(Ts*s3);

%Obtencion de G metodologia_2
zz=[z1 z2 z3];
delta=poly(zz);
delta_Fi=polyvalm(delta,Fi);
G=[0 0 1]*inv(S)*delta_Fi

%Obtencion de GG por comando acker


GG=acker(Fi,Ga,zz)

También podría gustarte