Practica 6 Modelado de Sistemas
Practica 6 Modelado de Sistemas
Practica 6 Modelado de Sistemas
Objetivo.- Esta sesión tiene como propósito conocer los diferentes comandos de
MATLAB y SIMULIMK para dar soluciones a los diferentes problemas de control y
automatización en el espacio de estado. Es decir, la transformación de un sistema
basado en el espacio de estados a su función de transferencia y viceversa.
Introducción:
La representación en espacio de estados es particularmente aplicada a sistemas
con múltiples entradas y salidas (sistemas MIMO). Esta representación de
sistema permite una formulación sencilla de problemas de optimización dinámica
en el dominio del tiempo, las cuales se pueden resolver de manera analítica y
algunos otros solamente de manera numérica. Otra razón muy importante por la
cual se utiliza el espacio de estados es el significado fundamental del término
estado de un sistema dinámico. En el cual físicamente el estado de un sistema
dinámico se determina por el contenido de energía presente en los acumuladores
de energía del sistema. Por ejemplo, en los sistemas eléctricos son variables de
estado la capacitancia y la inductancia ya que acumulan energía eléctrica.
•
x (t)= Ax (t)+ Bu(t) y (t)=Cx(t )+ Du(t )
En donde:
1
u(t) Vector de entrada con dimensión r
y(t) Vector de salida con dimensión m
A Matriz del sistema con dimensión n x n
B Matriz de entrada con dimensión n x r
C Matriz de salida con dimensión m x n
D Matriz de entrada-salida con dimensión m x r
[][
x1
•
x2 1
x
0 x2 0 ][ ] [ ]
x1
= −4 −3 1 + 1 u y= [ 0 10 ] x + [ 0 ] u
2
[]
A= −4 −3 B= 1 C=[ 0 10 ]
Siendo: [
1 0 0 ] [] D= [ 0 ]
¡Practique!
•
[][
x1
•
x2 1
x
0 x2 0 ][ ] [ ]
x1
= −4 −3 1 + 1 u y= [ 0 10 ] x + [ 0 ] u
2
[]
>>% Convertir modelo de espacio de estados en función de transferencia.
>>A = [-4 -3; 1 0];
>>B = [1;0];
2
>>C = [0 10];
>>D = 0;
>>iu = 1;
>>[num,den] = ss2tf(A,B,C,D,iu)
>>%Como la matriz B es de una sola columna, es decir, una sola entrada se
>>puede omitir “iu” que significa una entrada
num=[ 0 0 10 ], den=[ 1 4 3 ]
y (s ) 10
= 2
u (s ) s +4 s +3
Nota: La función ss2tf calcula los vectores num y den que contienen los
coeficientes, en orden descendente de potencias de s, del numerador y
denominador de la función de transferencia polinómica para la iu-ésima entrada.
Los argumentos de entrada A, B, C y D son las matrices de las ecuaciones de
espacio de estados que corresponden a la iu-ésima entrada, donde iu es el número
de entrada en el caso de un sistema de múltiples entradas. En el caso de un
sistema de una sola entrada, iu es 1.
También un sistema representado en función de transferencia se
puede convertir en una representación de espacio de estados
usando la función tf2ss:
Ejemplo: Obtenga a través del MATLAB el espacio de estados del
siguiente sistema representado en función de transferencia:
y (s ) 10
= 2
u (s ) s +4 s +3
¡Practique!
>>% Convertir función de transferencia a espacio de estados.
>>num = 10;
>>den = [1 4 3];
>>[A,B,C,D] = tf2ss(num,den)
>>%Obtener con el comando step la respuesta en el tiempo
3
>>step(A,B,C,D)
Los valores de las matrices calculadas por la función tf2ss son los
siguientes:
A= −4 −3 B= 1 C=[ 0 10 ]
[
1 0 0 ] [] D= [ 0 ]
[][
x1
•
x2
= −4 −3 x 1 + 1 u y= [ 0 10 ] x 1
1 0 x2 0 ][ ] [ ] []
x2
Uso de SIMULINK
4
•
[][
x1
• = 0 1 x 1 + 0 u y= [ 1 0 ] x1 + [ 0 ] u
x2 −4 −2 x 2 4
][ ] [ ] x2 []
Desarrollo de la práctica:
Y (s ) s
a) =
U ( s) (s +10)(s 2+ 4 s+16)
num=[1 0];
den=[1 14 56 160];
a=tf(num,den)
[A,B,C,D]=tf2ss(num,den)
A= −4 −3 B= 1 C=[ 0 10 ]
1 [
0 0 ] [] D= [ 0 ]
5
A=
B=
1
0
0
C=
0 1 0
D=
Y (s ) 25.04 s+5.008
b) = 3
U ( s) s +5.03247 s2 +25.1026 s +5.008
clear
clc
num=[25.04 5.008];
den=[1 5.03247 25.1026 5.008];
a=tf(num,den)
[A,B,C,D]=tf2ss(num,den)
A=
B=
1
0
0
6
C=
0 25.0400 5.0080
D=
Y 1 (s) 2⋅ s+ 3
c) = 2
U (s) s +0.1 s+ 1
Y 2 (s) s 2+2 ⋅ s+1
=
U (s) s2 +0.1 s +1
clear
[][ x1
•
x2
= 0 1 x1 0 [ y ] =[ 0 1 ] x 1
+ u
−0.4 −1.3 x 2 1 ][ ] [ ] x2 []
clc
A=[0 1; -0.4 -1.3];
B=[0;1];
C=[0 1];
D=0
[num,den]=ss2tf(A,B,C,D);
FT=tf(num,den)
s
FT = 2
s +1.3 s +0.4
b) Sistema 2:
[][
x1
• = 0 1 x 1 + 1 1 u1
x2 −25 −4 x 2 0 1 u2
][ ] [ ][ ]
[ yy ]=[ 10 01 ][ xx ]+[ 00 00][ uu ]
1
2
1
2
1
7
>> A=[0 1;-25 -4];
>> B=[1 1;0 1];
>> C=[1 0;0 1];
>> D=[0 0;0 0];
>> step(A,B,C,D)
>> B1=[1;0];
>> B2=[1;1];
>> C1=[1 0];
>> C2=[0 1];
>> D=0;
>> [num1,den1]=ss2tf(A,B1,C1,D)
>> [num2,den2]=ss2tf(A,B2,C2,D)
Y 1 ( s) s+ 4
= 2
U s s + 4 s+ 25
( )
Y 2 ( s) s−25
= 2
U ( s ) s +4 s+ 25
c) Sistema 3:
clear
[][
x1
•
x2 1
x
0 x2 0 ][ ] [ ]
x1
2
[]
= −1 −1 1 + 1 [ u ] y= [ 1 2 ] x + [ 0 ] [ u ]
clc
A=[-1 -1; 1 0];
B=[1;0];
C=[1 2];
D=0;
[num,den]=ss2tf(A,B,C,D);
FT=tf(num,den)
s+2
F ( t )= 2
s +s +1
8
transferencia del ejercicio propuesto en la introducción de esta
práctica, cuando se analizó el uso de la función ss2tf?
[][
x1
• = 0 1 x 1 + 0 u y= [ 10 0 ] x 1 + [ 0 ] u
x2 −3 −4 x 2 1
][ ] [ ] x2 []
y (s ) 10
=
u (s ) s2 +4 s +3
Esto es así por que la matriz A es la transpuesta del
sistema original del ejemplo de introducción; al igual
que la matriz B y C
G 1 ( s)=0.4 ; [Gain]
9
•
[][
x1
•
x2
= 0 1 x1 0 y= [ 0 1 ] x1
][ ] [ ]
+ u
−0.4 −1.3 x 2 1 x2 []
H 2 ( s): [State Space 1]
[][
x1
•
x2
x x1
= −2 0 1 + 1 u y= [ 0 10 ] x
1 0 x2 0][ ] [ ] 2
[]
H 1 ( S)=1
11
V. Considere el siguiente sistema en el espacio de estados:
[][
x1
• = 0 1 x 1 + 1 1 u1 y 1 = 1 0 x1 + 0 0 u1
][ ] [ ][ ] [ ] [ ][ ] [ ][ ]
x2 −25 −4 x 2 0 1 u2 2
y 0 1 x2 0 0 u2
12
2) ¿Qué puedes decir del comportamiento de la curva de respuesta
obtenida o de las curvas de respuestas obtenidas? Que son 2
respuestas de salida diferentes ante 2 entradas diferentes,
ambas curvas son la misma pero con un comportamiento inverso
3) ¿Cómo se obtiene la función de transferencia o las funciones de
transferencias de cada una de las respuestas observadas?
¿Cuál es o cuáles son estas? Separando las entradas y salidas
en el sistema se pueden obtener las funciones de transferencia
por separado de cada una de las respuestas según la entrada,
las funciones son las siguientes:
Y 1 ( s) s+ 4
= 2
U s s + 4 s+ 25
( )
13
Y 2 ( s) s−25
= 2
U s s +4 s+ 25
( )
num1 =
0 1 4
den1 =
>> [num2,den2]=ss2tf(A,B2,C2,D)
num2 =
14
0 1 -25
den2 =
>> FT1=tf(num1,den1)
FT1 =
s+4
--------------
s^2 + 4 s + 25
>> FT2=tf(num2,den2)
FT2 =
s - 25
--------------
s^2 + 4 s + 25
15
estados a través del diagrama en SIMULINK que se muestra a
continuación:
>> g1=0.4;
>> A=[0 1;0 -2];
>> B=[0;100];
>> C=[1 0];
>> D=0;
>> [num1,den1]=ss2tf(A,B,C,D);
>> A1=[-4 -1;3 -1];
>> B1=[1;1];
>> C1=[1 0];
>> [num2,den2]=ss2tf(A1,B1,C1,D);
>> G1=tf(num1,den1)
>> H1=tf(num2,den2)
>> Gt=series(g1,G1);
>> Gt=feedback(G1,H1);
>> Gs=series(g1,Gt);
>> Cs=feedback(Gs,1)
40 s 2 +200 s+ 280
C ( s) =
s 4 +7 s 3 +57 s 2+ 314 s +280
16
VII. Use la forma manual “G(s)=C ¿” para obtener del espacio de
estados del punto V la función de transferencia o las funciones de
transferencias. ¿Obtuvo la misma respuesta del punto V.3?
>> A=[0 1;-25 -4];
>> B1=[1;0];
>> B2=[1;1];
>> C1=[1 0];
>> C2=[0 1];
>> D=0;
>> syms s;
>> sI=[s 0;0 s];
>> sima=sI-A;
>> isima=inv(sima);
>> G1=C1*isima*B1+D
>> G2=C2*isima*B2+D
Si son diferentes por que use el comando de variable simbólica como se ve en el
código y se ven diferentes los resultados
G1 =
Actividad complementaria
17
0 1 0 0 0
A=
[
−4
0
0
−2
0
0
0
2
1
1 −4 −2
] [] B= 1 C=
0
0
1 0 0 0
[
0 0 1 0 ] D= [ 00]
18
en la posición en donde se desee que se encuentre la etiqueta. También no
olvidar: Titulo, etiquetas en el eje x e y, y color.
c) Obtener sus funciones de transferencias.
Gs1 =
s^2 + 2 s + 4
--------------------------------
s^4 + 4 s^3 + 10 s^2 + 16 s + 16
Gs2 =
s
--------------------------------
s^4 + 4 s^3 + 10 s^2 + 16 s + 16
d) No olvidar mostrar el código.
>> A=[0 1 0 0;-4 -2 0 2;0 0 0 1;0 1 -4 -2];
>> B=[0;1;0;0];
>> C1=[1 0 0 0];
>> C2=[0 0 1 0];
>> C=[1 0 0 0;0 0 1 0];
>> [num,den]=ss2tf(A,B,C1,0);
>> [num1,den1]=ss2tf(A,B,C2,0);
>> Gs1=tf(num,den)
>> Gs2=tf(num1,den1)
19
Se uso mucho el comando ss2tf para transformar espacios de
estados a funciones de transferencia, que en mi caso es mas fácil de
manipular
También use el comando step que somete al sistema ante una señal
de escalón unitario.
CONCLUSIONES
Realizar una conclusión final relacionada con los resultados obtenidos en la
práctica de manera individual
Zepeda Saborio Jose Guillermo
En mi caso el desarrollo de la practica me apoyo a reforzar el uso de algunos
comandos que usamos al inicio del semestre, aun que ahora aplicados a sistemas
mas complejos o con mas salidas y entradas, además aprendimos a usar de
manera efectiva los comandos para transformar sistemas en espacios de estados
a funciones de transferencia y viceversa, además de identificar cuando es mas
fácil trabajar con una forma y con la otra, se puede identificar también de manera
fácil cuantas entradas y salidas tiene el sistema en la representación en espacios
de estados, ya que dependiendo del numero de columnas en B son la cantidad de
entradas al sistema y la cantidad de filas en C es la cantidad de salidas del
sistema..
Martinez Alberto Ricardo
Conforme vamos avanzando notó la importancia de los comandos que vimos al
inicio de las prácticas y el cómo ya es más fácil identificarlos además estás nos
pueden ayudar si sabemos usarlas en sistemas más complejos y el punto de todo
esto es poder llegar a una solución lo más fácil posible o realizando el menor
trabajo posible claro sin cambiar la calidad de los trabajos con la ayuda de estas
herramientas
Sánchez Olguin Alexis Damian
Siempre en estas practicas sirve para desenvolvernos y poner en práctica la teoría
vista en clase, en prácticas establecidas para la clase. En esta ocasión con
múltiples entradas y salidas de un sistema MiMO las cuales se pueden resolver de
20
manera analítica y algunos otros solamente de manera numérica. Esta
representación de sistema permite una formulación sencilla de problemas de
optimización dinámica.
21