Está en la página 1de 14

Tecnológico Nacional de México

Instituto Tecnológico de la Laguna


División de estudios de Posgrado e Investigación
Maestría en Ciencias en Ingeniería Eléctrica

CONTROL AVANZADO

TAREA #4
Solución de la ecuación de estado por
formula general.

Ing. Lucero De Santiago Reyes

DR. JOSÉ LUIS MEZA MEDINA

TORREÓN, COAHUILA 16 DE MAYO 2023


Índice

Contents
Índice ....................................................................................................................... 2
Tabla de figuras....................................................................................................... 2
Objetivo ................................................................................................................... 3
Introducción ............................................................................................................. 3
Marco Teórico ......................................................................................................... 3
Desarrollo ................................................................................................................ 5
Conclusiones ......................................................................................................... 13
Referencias ........................................................................................................... 13

Tabla de figuras.
Figura 1. Respuesta del estado x1(t) ...................................................................... 7
Figura 2. Respuesta del estado x2(t) ...................................................................... 7
Figura 3. Respuesta de la salida y(t) del sistema .................................................... 8
Figura 4. Función de Matlab para obtener la solución a la ecuación de estado. ... 12
Figura 5. Respuesta en el tiempo de x1(t) ............................................................ 12
Figura 6. Respuesta en el tiempo de x2(t) ............................................................ 13

2
Objetivo

Obtener la respuesta de la ecuación de estado usando el método de la formula general.

Introducción

La finalidad principal del modelado en espacio de estados es analizar la respuesta de un


sistema a través del tiempo, para esto, como hemos visto en clase, existen diferentes
formas de obtener la respuesta del sistema al resolver la ecuación de estado. Para este
trabajo en específico, se hará uso del método de la formula general utilizando Matlab.
A continuación, se explicará la teoría necesaria para obtener la solución de la ecuación de
estado, pues es importante entender previamente lo que se realizará a partir de escribir
unos cuantos comandos en Matlab.

Marco Teórico

Como ya sabemos, la representación compacta en espacio de estados de un sistema, está


dado de la siguiente forma:

𝑥̇ (𝑡) = 𝐴(𝑡)𝑥(𝑡) + 𝐵(𝑡)𝑢(𝑡) Equation 1

𝑦(𝑡) = 𝐶(𝑡)𝑥(𝑡) + 𝐷(𝑡)𝑢(𝑡) Equation 2

En donde:
𝑥(𝑡) ∈ ℝ 𝑛×1 Es el vector de estado del sistema.
𝑢(𝑡) ∈ ℝ 𝑚×1 Es el vector de entradas al sistema.
𝑦(𝑡) ∈ ℝ 𝑝×1 Es el vector de salida del sistema.
𝐴(𝑡) ∈ ℝ 𝑛×𝑛 Es la matriz principal del sistema.
𝐵(𝑡) ∈ ℝ 𝑛×𝑚 Es la matriz de entradas al sistema.
𝐶(𝑡) ∈ ℝ 𝑝×𝑛 Es la matriz de salida del sistema.
𝐷(𝑡) ∈ ℝ 𝑝×𝑚 Es la matriz de pre alimentación.
Al aplicar Transformada inversa de Laplace a la ecuación 1, se obtiene lo siguiente:

3
𝑆𝑋(𝑠) + 𝑋(0) = 𝐴 X(s) + 𝐵U(s)
(𝑆𝐼 − 𝐴 )𝑋(𝑠) = 𝑋(0) + 𝐵 𝑈(𝑠)

𝑋(𝑠) = (𝑆𝐼 − 𝐴 )−1 𝑋(0) + (𝑆𝐼 − 𝐴 )−1 𝐵 𝑈(𝑠) Equation 3

Ahora, se aplica Transformada inversa de Laplace para tener la expresión anterior en


función del tiempo t

ℒ −1 {𝑋(𝑠)} = ℒ −1 {(𝑆𝐼 − 𝐴 )−1 𝑋(0)} + ℒ −1 {(𝑆𝐼 − 𝐴 )−1 𝐵 𝑈(𝑠)}

𝑥(𝑡) = (𝑆𝐼 − 𝐴 )−1 𝑥(0) + (𝑆𝐼 − 𝐴 )−1 𝑢(𝑡) Equation 4

Donde:

Φ(t) = (𝑆𝐼 − 𝐴 )−1

Sustituyendo lo anterior en la ecuación 4, se tiene que:

𝑥(𝑡) = Φ(t)𝑋(0) + Φ(t)𝐵𝑢(𝑡) Equation 5

Es importante mencionar que Φ(t) es la matriz de transición de estados, la cual se obtiene


también de la siguiente forma:

Φ(t) = 𝑒𝐴𝑡
Donde:
𝐴 ∈ ℝ 𝑛×𝑛 Es la matriz principal del sistema.

Se aplica ahora el teorema de convolución a la ecuación 5. Este teorema dice que la


convolución de dos funciones en el dominio del tiempo es igual a la multiplicación de estas
en el dominio de la frecuencia:
𝑡 Equation 6
𝑓1 ∗ 𝑓2 = ∫ 𝑓1 (𝑡 − 𝑇)𝑓2 (𝑇) 𝑑𝑇 = 𝐹1 (𝑠)𝐹2 (𝑠)
0

4
Obteniendo finalmente la solución por formula general para la ecuación de estado:

𝑡 Equation 7
𝑥(𝑡) = Φ(t)𝑋(0) + ∫ Φ (𝑡 − 𝑇)𝐵𝑢(𝑇) 𝑑𝑇
0

Ahora, la misma expresión pero en términos de la matriz exponencial, se tiene que:


𝑡 Equation 8
𝑥(𝑡) = 𝑒 𝐴𝑡 𝑋(0) + ∫ 𝑒 𝐴(𝑡−𝑇) 𝐵𝑢(𝑇) 𝑑𝑇
0

En seguida se describe el desarrollo para encontrar la solución a la ecuación de estado a


través de la formula general mediante el uso de la herramienta Matlab.

Desarrollo

Sea el sistema en espacio de estados:

2 1 𝑥1 1
𝑥̇ = [ ] [ ]+[ ] 𝑈
0 7 𝑥2 2
𝑥1
𝑦 = [2 1] [𝑥 ]
2

Encontrar la solución a la ecuación de estado utilizando el método de la formula general,


implementado en Matlab.
El siguiente código de Matlab representa la solución a la ecuación de estado utilizando la
expresión de la ecuación 8, donde 𝑒 𝐴𝑡 = 𝑒𝑥𝑝𝑚, comando de Matlab especifico para obtener
la matriz exponencial; el comando int calcula la integral definida de una función.
Después se grafica la respuesta al escalón unitario de ambos estados 𝑥1 y 𝑥2 , y finalmente,
se comprueba la respuesta del sistema a través del comando ss que crea un modelo en
espacio de estados de tiempo continuo.

5
syms u t T % Declarar las variables simbólicas s, t y T que se utilizaran

% Declaración del vector de Condiciones Iniciales (C.I.)


XO=[0;0];

% Declaración de la matriz principal del sistema


A = [2 1;
0 7];

% Declaración de la matriz de entradas al sistema


B = [1;2];

% Declaración de la matriz de salidas del sistema


C = [2 1];

% Declaración de la matriz de prealimentación


D = [0];
u = [1];

%Solucion de la ecuacion de estado por la formula general


fi = expm(A*(t));
fi1 = expm(A*(t-T));
f1 = fi*XO;
con = int(fi1*B*u,T,0,t);
x = f1+con;

% Grafica la respuesta

for i=1:length(A)
sprintf('x(%d)',i)
% x(i)
ezplot(x(i),[0,6])
grid on
axis('auto');

if i<=length(A)
figure
end
end

% Comprobación del sistema


sys=ss(A,B,C,D);
step(sys)
grid on

A continuación, se presentan las gráficas de la respuesta de cada uno de los estados del
sistema:

6
Figura 1. Respuesta del estado x1(t)

Figura 2. Respuesta del estado x2(t)

7
Figura 3. Respuesta de la salida y(t) del sistema

Otra alternativa propuesta para encontrar la solución de la ecuación de estado es la de


crear una función en Matlab, un programa que calcule de manera automática la solución de
la ecuación de estado, solicitando las matrices A, B, C y D al usuario para después entregar
las gráficas de las respuesta en el tiempo de cada uno de los estados que componen al
sistema, así como su salida.

function [y,x1,x2,x3]=respuesta_tiempo

syms s t % Construcción de las variables simbólicas s (laplace) y t


(tiempo)

fprintf('La presente función solo permite obtener la respuesta en el


\n');
fprintf('dominio del tiempo de Ecuaciones de Estado de sistemas
dinámicos\n');
fprintf('lineales de 2 o 3 variables de estado (n). \n\n');

fprintf('Considere la representación en Espacio de Estado de un


Sistema \n');
fprintf('Dinámico Lineal de la siguinte forma: \n\n');
fprintf('*********** xp(t) = A(t)x(t) + B(t)u(t) *********** \n'
);
fprintf('*********** y(t) = C(t)x(t) + D(t)u(t) ***********
\n\n');
8
fprintf('Donde: \n');
fprintf('x(t) es el vector de estado del sistema, de dimensión nx1
\n');
fprintf('u(t) es el vector de entrada al sistema, de dimensión mx1
\n');
fprintf('y(t) es el vector de salida del sistema, de dimensión px1
\n');
fprintf('A(t) es la matriz principal del sistema, de dimensión nxn
\n');
fprintf('B(t) es la matriz de entrada al sistema, de dimensión nxm
\n');
fprintf('C(t) es la matriz de salida del sistema, de dimensión pxn
\n');
fprintf('D(t) es la matriz de prealimentación, tiene dimensión pxm
\n');

fprintf('\nDe acuerdo a lo anterior: \n');

fprintf('Introduzca la Matriz A (nxn) \n');


A = input('A = ');

fprintf('Introduzca la Matriz B (nxm) \n');


B = input('B = ');

fprintf('Introduzca la Matriz C (pxn) \n');


C = input('C = ');

fprintf('Introduzca la Matriz D (pxm) \n');

D = input('D = ');

fprintf('Introduzca el vector de entrada en el dominio del tiempo


(mx1) \n');
u = input('u(t) = ');
u = sym(u);
U = laplace(u);

fprintf('Introduzca el vector de condiciones iniciales (C.I.) (nx1)


\n');
x0 = input('x(0) = ');

[n,m]=size(B);
[p,n]=size(C);

if (n==2)

Bu = B*U;

U1 = Bu(1,1)+x0(1,1);
U2 = Bu(2,1)+x0(2,1);

M = [(s-A(1,1)) -A(1,2);
-A(2,1) (s-A(2,2))];

N1 = [U1 M(1,2);
U2 M(2,2)];
N2 = [M(1,1) U1;
M(2,1) U2];

X1S = det(N1)/det(M); 9
X2S = det(N2)/det(M);
x1 = ilaplace(X1S);
x2 = ilaplace(X2S);
x3 = 0;

fprintf('\n Respuesta en el tiempo del estado x1(t) \n');


fprintf('x1(t)= ');
disp(x1);

fprintf('\n Respuesta en el tiempo del estado x2(t) \n');


fprintf('x2(t)= ');
disp(x2);

figure
ezplot(x1,[0 10]);
title('Respuesta en el tiempo del estado x1(t)');
axis('auto');
grid on

figure
ezplot(x2,[0 10]);
title('Respuesta en el tiempo del estado x2(t)');
axis('auto');
grid on

D = input('D = ');

fprintf('Introduzca el vector de entrada en el dominio del tiempo


(mx1) \n');
u = input('u(t) = ');
u = sym(u);
U = laplace(u);

fprintf('Introduzca el vector de condiciones iniciales (C.I.) (nx1)


\n');
x0 = input('x(0) = ');

[n,m]=size(B);
[p,n]=size(C);

if (n==2)

Bu = B*U;

U1 = Bu(1,1)+x0(1,1);
U2 = Bu(2,1)+x0(2,1);

M = [(s-A(1,1)) -A(1,2);
-A(2,1) (s-A(2,2))];

N1 = [U1 M(1,2);
U2 M(2,2)];
N2 = [M(1,1) U1;
M(2,1) U2];

X1S = det(N1)/det(M);
X2S = det(N2)/det(M);

10
x1 = ilaplace(X1S);
x2 = ilaplace(X2S);
x3 = 0;

fprintf('\n Respuesta en el tiempo del estado x1(t) \n');


fprintf('x1(t)= ');
disp(x1);

fprintf('\n Respuesta en el tiempo del estado x2(t) \n');


fprintf('x2(t)= ');
disp(x2);

figure
ezplot(x1,[0 10]);
title('Respuesta en el tiempo del estado x1(t)');
axis('auto');
grid on

figure
ezplot(x2,[0 10]);
title('Respuesta en el tiempo del estado x2(t)');
axis('auto');

fprintf('x1(t)= ');
disp(x1);

fprintf('\n Respuesta en el tiempo del estado x2(t) \n');


fprintf('x2(t)= ');
disp(x2);

fprintf('\n Respuesta en el tiempo del estado x3(t) \n');


fprintf('x3(t)= ');
disp(x3)

figure
ezplot(x1,[0 10]);
title('Respuesta en el tiempo del estado x1(t)');
axis('auto');
grid on

Lo siguiente es correr el programa o llamar esta funcion desde el “Command Window” de


Matlab, e introducir los datos solicitados. Se utilizará el mismo sistema en espacio de
estados, para verificar el correcto funcionamiento, obteniendo así la respuesta variable en
el tiempo de los estados del sistema. Esto se muestra en seguida:

11
Figura 4. Función de Matlab para obtener la solución a la ecuación de estado.

Figura 5. Respuesta en el tiempo de x1(t)

12
Figura 6. Respuesta en el tiempo de x2(t)

Conclusiones

Se concluye que existen diversos métodos para la solución de la ecuación de estado. El


encontrar la solución ayuda a analizar la respuesta a través del tiempo de los estados de
un sistema a una determinada entrada.
Probablemente algunas ecuaciones de estado, como la que se muestra en este trabajo,
puedan ser resueltos de manera analítica, pero cuando son sistemas con más variables de
estado, entradas, simplemente, de mayor orden, estas se complican y es por esto que es
mejor recurrir a estas herramientas computacionales de gran capacidad que nos ahorran
tiempo y errores.

Referencias

2.4 Matriz de transición de estado y respuesta temporal | Tutoría Virtual de A. Javier Barragán Piña. (n.d.).

http://uhu.es/antonio.barragan/content/24-matriz-transicion-estado-y-respuesta-temporal

13
Ecuación de transición de estado. (2014, July 14). Apuntes Para Universitarios.

https://edukativos.com/apuntes/archives/3005

Franco, O. G. (2022). Ecuaciones Diferenciales I: Exponencial de una matriz y matriz fundamental de

soluciones. El Blog De Leo. https://blog.nekomath.com/ecuaciones-diferenciales-i-exponencial-de-

una-matriz-y-matriz-fundamental-de-soluciones/

Medina Lopez, I. (2015). Respuesta en el dominio del tiempo de las ecuaciones de estado (Solución de la

Ecuación de Estado) (1st ed.).

Modelo de espacio de estados - MATLAB - MathWorks América Latina. (n.d.).

https://la.mathworks.com/help/control/ref/ss.html

14

También podría gustarte