Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Práctica 3
“Solución de una ecuación diferencial lineal”
Alumnos:
Crear un programa con una función que tome como argumentos de entrada a las condiciones
iniciales, x0 y los coeficientes de una ecuación diferencial del tipo 𝑦 (𝑛) + 𝑎1 𝑦 (𝑛−1) + ⋯ +
𝑎𝑛−1 𝑦̇ + 𝑎𝑛 𝑦 = 𝑏0 𝑢𝑛−1 + ⋯ +, y que devuelva la solución la ecuación diferencial matricial
𝑡
en espacio de estados correspondiente en simbólico, 𝑥(𝑡) = 𝑒 𝐴𝑡 𝑥0 + ∫0 𝑒 𝐴𝑡(𝑡−𝜏) 𝐵𝑢(𝜏)𝑑𝜏,
considerando entrada escalón unitario, y la salida, 𝑦(𝑡) = 𝐶𝑥(𝑡). Además, deberá mostrar
las gráficas del vector de estados y de la salida (con ezplot o fplot).
Material
Introducción
Dentro del control moderno derivado a sus múltiples entradas y salidas podemos hacer uso
de la notación matricial ya que es capaz de simplificar la representación matemática para el
análisis y solución de un sistema de ecuaciones complejo. Para el enfoque en el espacio de
estados, el análisis de sistemas es el más conveniente desde este punto de vista. Mientras la
teoría de control convencional se basa en la relación entrada-salida, o función de
transferencia, la teoría de control moderna se basa en la descripción de las ecuaciones de un
sistema en términos de n ecuaciones diferenciales de primer orden, que se combinan en una
ecuación diferencial vectorial de primer orden. El uso de la notación matricial simplifica
enormemente la representación matemática de los sistemas de ecuaciones. El incremento en
el número de variables de estado, de entradas o de salidas no aumenta la complejidad de las
ecuaciones.
De hecho, el análisis de sistemas complicados con múltiples entradas y salidas se realiza
mediante procedimientos sólo ligeramente más complicados que los requeridos para el
análisis de sistemas de ecuaciones diferenciales escalares de primer orden.
Este capítulo y el siguiente abordan el análisis y el diseño de sistemas de control en el espacio
de estados. En este capítulo se presenta el material básico de análisis en el espacio de estados,
que incluye la representación de sistemas en el espacio de estados, la controlabilidad y la
observabilidad.
pág. 1
Marco Teórico
La teoría de control moderna es la disciplina que da una solución a los procesos de control
actuales, los cuales poseen un alto grado de complejidad. Los sistemas complejos pueden
tener entradas y salidas múltiples y pueden variar en el tiempo. Debido a la necesidad de
alcanzar los requerimientos cada vez más restrictivos en el desempeño de los procesos de
control, al aumento la complejidad del sistema y al uso extendido de los ordenadores,
aproximadamente desde 1960 se ha desarrollado la teoría de control moderna, que es un
nuevo enfoque del análisis y diseño de procesos de control complejos. Este enfoque nuevo
se basa en el concepto de estado. El concepto de estado por sí mismo no es nuevo, dado que
ha existido durante largo tiempo en el campo de la dinámica clásica y en otros medios.
La teoría de control moderna contrasta con la teoría clásica de control en que la primera
aplica a sistemas con entradas y salidas múltiples, que pueden ser lineales o no lineales,
mientras que la segunda sólo se aplica a sistemas lineales con una entrada y una salida e
variantes con el tiempo. Asimismo, la teoría del control moderna es esencialmente un
enfoque en el dominio del tiempo y los procesos se representan mediante ecuaciones de
estado, en tanto que la teoría clásica de control es enfoque en el dominio de la variable
complejas. Para poder comprender un poco más el significado de la teoría de control moderna
y de las ecuaciones de estado, se citan a continuación una serie de conceptos básicos.
Estado
Es el espacio n-dimensional cuyos ejes de coordenadas están formados por el eje x1, el eje
x2, …el eje xn. Cualquier estado puede representarse mediante un punto en el espacio de
estados.
Ecuaciones de estado
pág. 2
Solución de la ecuación de estado invariante con el tiempo
Solución de las ecuaciones de estado para el caso homogéneo
Si la solución supuesta se quiere que sea la solución verdadera, la ecuación debe ser válida
para cualquier t. Por tanto, igualando los coeficientes de las potencias iguales de t, se obtiene
𝑏1 = 𝑎𝑏0
1 1
𝑏2 = 𝑎𝑏1 = 𝑎2 𝑏0
2 2
1 1 3
𝑏3 = 𝑎𝑏2 = 𝑎 𝑏0
3 3x2
1
𝑏𝑘 = 𝑎𝑘 𝑏0
𝑘!
El valor de 𝑏0 se determina sustituyendo 𝑡 = 0
𝑥(0) = 𝑏0
Por tanto, la solución x(t) se escribe como
1 2 2 1
𝑥(𝑡) = (1 + 𝑎𝑡 + 𝑎 𝑡 + ⋯ + 𝑎𝑘 𝑡 𝑘 + ⋯ ) 𝑥(0) (4)
2! 𝑘!
A continuación, se resuelve la ecuación diferencial matricial
𝑥̇ = 𝐴𝑥 (5)
donde 𝑥 =vector de dimensión 𝑛 y 𝐴=matriz de coeficientes constantes de 𝑛 x 𝑛.
Por analogía con el caso escalar, se supone que la solución está en la forma de una serie de
potencias vectoriales en 𝑡, o
𝑥(𝑡) = 𝑏0 + 𝑏1 𝑡 + 𝑏2 𝑡 2 + ⋯ + 𝑏𝑘 𝑡 𝑘 + ⋯ (6)
Al sustituir esta solución supuesta en la Ecuación diferencial matricial, se obtiene.
𝑏1 + 2𝑏2 𝑡 + 3𝑏3 𝑡 2 + ⋯ + 𝑘𝑏𝑘 𝑡 𝑘−1 + ⋯
= 𝐴(𝑏0 + 𝑏𝑡 𝑡 + 𝑏2 𝑡 2 + ⋯ + 𝑏𝑘 𝑡 𝑘 + ⋯ ) (7)
pág. 3
Si la solución supuesta se quiere que sea la solución verdadera, la ecuación debe ser válida
para todo t. Por tanto, igualando los coeficientes de las potencias iguales de t en ambos
miembros de la ecuación, se obtiene:
𝑏1 = 𝐴𝑏0
1 1
𝑏2 = 𝐴𝑏1 = 𝐴2 𝑏0
2 2
1 1 3
𝑏3 = 𝐴𝑏2 = 𝐴 𝑏0
3 3𝑥2
1
𝑏𝑘 = 𝐴𝑘 𝑏0
𝐾!
converge absolutamente para todo t finito. (Por tanto, es fácil realizar los cálculos en un
computador para evaluar los elementos de eAt utilizando el desarrollo en serie.)
Debido a la convergencia de la serie infinita la serie puede diferenciarse término a término
para producir
𝑑 𝐴𝑡 𝐴3 𝑡 2 𝐴𝑘 𝑡 𝑘−1
𝑒 = 𝐴 + 𝐴2 𝑡 + + ⋯+ +⋯
𝑑𝑡 2! (𝑘 − 1)!
𝐴3 𝑡 2 𝐴𝑘 𝑡 𝑘−1
= 𝐴 [𝐼 + 𝐴𝑡 + + ⋯+ + ⋯ ] = 𝐴𝑒 𝐴𝑡
2! (𝑘 − 1)!
𝐴3 𝑡 2 𝐴𝑘 𝑡 𝑘−1
= [𝐼 + 𝐴𝑡 + + ⋯+ (𝑘−1)!
+ ⋯ ] 𝐴 = 𝑒 𝐴𝑡 𝐴
2!
pág. 4
Solución de las ecuaciones de estado para el caso homogéneo
𝑥̇ − 𝑎𝑥 = 𝑏𝑢
Multiplicando ambos miembros de esta ecuación por 𝑒 𝑎𝑡 , se obtiene
𝑑 −𝑎𝑡
𝑒 −𝑎𝑡 [𝑥̇ (𝑡) − 𝑎𝑥(𝑡)] = [𝑒 𝑥(𝑡)] = 𝑒 −𝑎𝑡 𝑏𝑢(𝑡)
𝑑𝑡
Al integrar esta ecuación entre 0 y t se obtiene
𝑡
𝑒 −𝑎𝑡 𝑥(𝑡) − 𝑥(0) = ∫ 𝑒 −𝑎𝜏 𝑏𝑦(𝜏)𝑑𝜏
0
O bien
𝑡
𝑥(𝑡) = 𝑒 𝑎𝑡 𝑥(0) + 𝑒 𝑎𝑡 ∫ 𝑒 −𝑎𝜏 𝑏𝑦(𝜏)𝑑𝜏
0
o bien
𝑡
𝑥(𝑡) = 𝑒 𝐴𝑡 𝑥(𝑡) − ∫ 𝑒 −𝐴(𝑡−𝜏) 𝐵𝑢(𝜏)𝑑𝜏
0
(11)
pág. 5
Desarrollo de la practica
Lo primero que realizamos en el programa es colocar los datos de la práctica (materia, grupo,
título, equipo, etc.) para después mostrar un mensaje de bienvenida al usuario, como se
observa en la siguiente figura.
En la figura 2 se puede apreciar que utilizamos una cadena de caracteres (‘x’) para hacer más
cómoda la interfaz al usuario y mostrar el símbolo de derivada en la manera habitual
pág. 6
(utilizando apóstrofo), esto con ayuda de un par de la sentencia “for” anidados y con los
valores de las condiciones iniciales mostramos el vector que las contiene (x0) para asegurarse
que se hayan ingresado de manera correcta, posterior a esto, con ayuda de otro for, se pide
que se ingresen los valores de los coeficientes para completar los datos de entrada.
Como siguiente paso en el desarrollo del programa se obtienen las matrices correspondientes
al espacio de estados (A, B, C y D) utilizando la función tf2ss y como argumentos de ella
los vectores a y b que guardan los coeficientes (Figura 3), aquí pasa algo peculiar, de esta
función (tf2ss) obtenemos las matrices, pero con las filas y columnas dispuestas de manera
diferente a lo que las manejamos es por eso que aplicamos algunos comandos para colocarlas
de manera correcta, por ejemplo: rot90 para rotar 90 grados la matriz A dos veces y flipud,
fliplr para intercambiar las filas y columnas de B y C, a D le damos un valor de 0 ya que no
lo vamos a utilizar.
Figura 3. Bloque 3 del código de la práctica (Obtención de matrices del Espacio de Estados)
Con las matrices del espacio de estados se procede a obtener la matriz exponencial utilizando
uno de los métodos realizados en la práctica 1, en específico el método de Jordan, aquí no se
cambió nada con respecto al código anterior, solo se agregó una nueva matriz (MT) donde
sustituimos t por -Tau para utilizarlo en la integral para la solución de la ecuación en espacio
de estados. Se utiliza –Tau ya que en la integral se utiliza su valor negativo.
Por último, se grafican xt y yt utilizando la función fplot, pero además se utilizan los datos
string strx y stry para colocar las leyendas en los gráficos, se coloca un for que ayuda a
guardar las leyendas de cada elemento del vector de estados xt en un vector de strings (Le) ,
posteriormente se colocan las propiedades de la primera gráfica y después se grafica la salida
yt agregando también sus respectivas propiedades.
Para comprobar el funcionamiento del programa se ocupa una de las ecuaciones diferenciales
vistas en los ejemplos de clase:
pág. 8
Con las condicione iniciales:
pág. 9
Figura 10. Segunda parte del programa
Si se comparan las matrices del espacio de estados y la matriz exponencial que arroja el
programa con las del resultado teórico se observa que son iguales:
Por último, se muestran en pantalla el vector de estados (xt), la salida (yt) y se grafican:
En las gráficas se observa que 𝑦(𝑡) = 𝑥1 (𝑡) debido a que 𝐶 = [1 0] y 𝑦(𝑡) = 𝐶𝑥(𝑡), por lo
tanto, solo se mantiene la primera fila de 𝑥(𝑡).
Se comprueba que los resultados de este primer ejemplo corresponden con los obtenidos en
clase, por lo tanto, se concluye que el programan funciona de manera correcta.
pág. 11
Conclusiones
Referencias
[1] Ogata K., Ingeniería de Control Moderna. Ed. Pearson, 2010. España. ISBN: 978-84-
8322-955-2
[2]E. Villota. "Control Moderno y ´Optimo". bionanouni.wdfiles.com.
http://bionanouni.wdfiles.com/local--files/teaching-mt227b-horario-
2012i/ControlModernoyOptimo.pdf (accedido el 2 de septiembre de 2022).
[3] D. A. F. Lugo Peñaloza, "Control de Sistemas Mecatrónicos", septiembre de 2022,
Introducción, Ciudad de México, México, UPIITA.
pág. 12