You are on page 1of 3

Comandos de MATLAB de control

%‐‐ 10/04/2015 15:05 ‐‐%  % Fdt de segundo orden en "s" y en "z"

s=tf('s') % Variable "s"
z=tf('z',0.05) % Variable "z" para Tm=0.05 segundos
Gs=32/(s^2+4*s+16) % Fdt en "s"
Gz=0.07227/(z^2‐1.783*z+0.8187) % Fdt en "z" "equivalente" para Tm=0.05
step(Gs) % Respuesta escalón de Gs
hold % Retención del gráfico para superponer
step(Gz) % Respuesta escalón de Gz sobre la de Gs

%‐‐ 24/02/2016 16:07 ‐‐%  % Comparación de la respuesta de un sistema 
muestreado

s=tf('s') % Variable "s"
Gs=0.1/(s+0.025) % Fdt en "s"
Fz=c2d(Gs,2,'zoh') % Fdt en "z" del sistema muestreado para Tm=2 
segundos
step(10*Gs) % Respuesta escalón de 10 unidades de Gs
hold % Retención del gráfico para superponer
step(10*Gz) % Respuesta escalón de 10 unidades de Fz sobre 
la de Gs

%‐‐ 12/04/2013 16:06 ‐‐%  % Sesión con RLTOOL

s=tf('s') % Variable "s"
Gs=(109*s+234)/(s^3+15*s^2+56*s+178) % Construcción de G(s)
help feedback % Ayuda en linea
Ms=feedback(Gs,1,‐1) % Obtendión de la FdT en bucle cerrado
pzmap(Ms) % Gráfico de polos y ceros
[polos,ceros]=pzmap(Ms) % Valores de polos y ceros
rltool % Utilidad de diseño basado en el LR

%‐‐ 16/04/2013 19:20 ‐‐%  % Modelos con Variables de Estado de un circuito RLC

s=tf('s')
G=1e9/( s^2 + 70e3*s + 1e9 )  % FdT del Sistema
step(G)
[polos,ceros]=pzmap(G) % Valores de polos y ceros
pzmap(G) % Valores de polos y ceros: representación 
gráfica

A1=[‐70e3 , ‐1e3 ; 1e6 , 0] % Matrices del modelo en variables de estado
B1=[ 1e3 ; 0]    % Variables Físicas
C1=[0 1]
D1=[0]
Página 1
Comandos de MATLAB de las prácticas.txt
sys=ss(A1,B1,C1,D1)    % Sistema en variables de estado
step (sys)    % Respuesta a un escalón
sys.a    % Elementos del sistema (matrices)
sys.b
figure(2) % Dibujo en una segunda ventana
step (A1,B1,C1,D1)    % Respuesta a un escalón usando las matrices
eig(A1)    % Valores propios de la matriz ‐> Polos del sistema

% Paso de FdT a Variables de Estado
[A2, B2 ,C2 , D2]=tf2ss( [ 1e9] , [ 1 , 70e3 ,1e9] );
eig(A1)    % Valores propios de la matriz ‐> Polos del sistema

% El modelo que proporciona MATLAB en variables de Fase tiene 
% permutadas las variables de estado respecto a los ejercicios
% realizados en clase

A2     % Valores de la matriz A
format short eng    % Cambio del formato de representación para 
                    % visualizar valores escondidos
A2     % Valores de la matriz A visualizados

figure(3)
step(A2,B2,C2,D2)

% Paso de Variables de estado a Fdt ¡Cuidado con los errores de conversión!
[num,den]=ss2tf(A1,B1,C1,D1)
[num,den]=ss2tf(A2,B2,C2,D2)

% Modelo en variables de estado canónicas de Jordan

[r,p,k]=residue(num,den)  % Coeficientes de la descomposición en fracciones 
simples

A3=[‐2e4  0 ; 0 ‐5e4]   % A3=[‐p(2)   0 ; 0  ‐p(1)]
B3=[ 1 ; 1]
C3=[3.33e4   ‐3.33e4]   % C3=[r(2)   r(1)]
D3=[0]

figure(4)
step( A3,B3,C3,D3)   % La respuesta ante escalón sigue siendo la misma

% Matriz de transformación de variables de Fase a canónicas
% para el ejemplo de clase
P=[ 1   1; ‐2e4  ‐5e4]
A=P^‐1*[ 0  1 ; ‐1e9  ‐70e3 ]*P
B=P^‐1*[ 0  ; 1]
C=[ 1e9  0 ]*P
D=[0]
% Las matrices A, B, C, y D coinciden con A3, B3, C3 y D3.
Página 2
Comandos de MATLAB de las prácticas.txt

% Matriz de transformación de variables de Fase a canónicas
% para las matrices de Fase obtenidas por MATLAB
P=[ ‐5e4  ‐2e4; 1 1]
A=P^‐1*A2*P
B=P^‐1*B2
C=C2*P
D=D2
% Las matrices A, B, C, y D coinciden con A3, B3, C3 y D3.

% Paso a sistema muestreado (discreto) con Tm=1e‐5 segundos
sysd=c2d(sys,1e‐5,'zoh')
figure(5)
step(sys)
hold
step(sysd)
sysc=d2c(sysd)     % paso de discreto a continuo

% Controlabilidad
% Obtención de la matriz de controlabilidad: tres comandos equivalentes
control=[B1 , A1*B1] % Utilizando la expresión de la matriz
control=ctrb(A1,B1)  % Utilizando la función ctrb()
control=ctrb(sys)    

rank(control)        % Obtención del rango de la matriz 

% Observabilidad
% Obtención de la matriz de observabilidad: tres comandos equivalentes
obs=[C1 ; C1*A1] % Utilizando la expresión de la matriz
obs=obsv(A1,C1)   % Utilizando la función obsv()
obs=obsv(sys)

rank(obs)      % Obtención del rango de la matriz 

Página 3