Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Práctica 1
“Cálculo de la exponencial de una matriz”
Control de Sistemas Mecatrónicos
Dr. Armando Fabián Lugo Peñaloza
4MV8
Alumnos:
Galván Cruz Daniel
López Terán Irving Josué
Martínez Briones Alexis
Roque Romero Luis Jesús
2. Material
• Archivos y apuntes de introducción de la unidad de aprendizaje proporcionados por el
profesor
• Computadora con Matlab
3. Introducción
Un sistema moderno complejo posee muchas entradas y muchas salidas que se relacionan entre sí
de una forma complicada. 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.
4. Marco Teórico
1.1 Matriz Exponencial
A esta matriz se le conoce como matriz exponencial o matriz de transición de estados ya que nos
permite conocer el comportamiento de las variables de estado en el tiempo (su transición) y se
denota como:
ϕ(𝑡) = 𝑒 𝐴𝑡 (2)
La matriz de transición de estados contiene toda la información sobre el movimiento libre del
sistema definido mediante la siguiente ecuación:
𝑥̇ = 𝐴𝑥 (3)
−1
• ϕ(−t) = 𝑒 𝐴(−𝑡) = (𝑒 𝐴𝑡 )−1 = 𝑒 −𝐴𝑡 = (ϕ(t)) (7)
𝑑 𝑑
• ϕ(t) = 𝑑𝑡 𝑒 𝐴𝑡 = 𝐴𝑒 𝐴𝑡 = 𝑒 𝐴𝑡 ∙ 𝐴 (8)
𝑑𝑡
𝑛
• (ϕ(𝑡)) = ϕ(nt) (9)
Este método usa la transformada inversa de Laplace del determinante del polinomio característico
de la siguiente forma:
𝑒 𝐴𝑡 = 𝐿−1 {(𝑠𝐼 − 𝐴)−1 } (11)
Se define el polinomio característico de una matriz A tal como se muestra en la ecuación 12:
PA(λ) = Det (Iλ-A) = 𝜆𝑛 + 𝛼 1𝜆𝑛−1 + ⋯ + 𝛼 n-1𝜆 + 𝛼n (12)
Tomamos f(x) = 𝑒 𝑥𝑡 con el objetivo de calcular f(A) = 𝑒 𝐴𝑡 m considerando que λi es un eigenvalor
de A con multiplicidad ni, tenemos:
𝑃𝐴(𝜆) = ∏𝑚
𝑖=1(𝜆 − 𝜆𝑖)
𝑛𝑖
(13)
∑𝑚
𝑖=1 𝑛𝑖 =𝑛 (14)
Se propone la siguiente función.
h (λ) = ꞵn-1𝜆𝑛−1 + ⋯ + ꞵ1𝜆 + ꞵo (15)
Donde las ꞵi son incógnitas las cuales se resuelven planteando el siguiente sistema de ecuaciones.
𝑓 (𝐼) (𝜆𝑖) = ℎ(𝐼) (𝜆𝑖)
I = 0, …, n-1 (16)
i = 1, 2, …, m
Entonces se tiene f (A) = h (A)
Y h (λ) es igual a f (λ) sobre el espectro de A.
1.3.3 Tercer Método
El grado del polinomio mínimo de A es m. Se deben resolver las siguientes m ecuaciones para los
𝛼𝑘 :
𝛼0 + 𝛼1 𝜆1 + 𝛼2 𝜆12 + ⋯ + 𝛼𝑚−1 𝜆1𝑚−1 = 𝑒 𝜆1 𝑡
𝛼0 + 𝛼1 𝜆2 + 𝛼2 𝜆22 + ⋯ + 𝛼𝑚−1 𝜆𝑚−1
2 = 𝑒 𝜆2 𝑡
:
𝛼0 + 𝛼1 𝜆𝑚 + 𝛼2 𝜆𝑚 + ⋯ + 𝛼𝑚−1 𝜆𝑚 = 𝑒 𝜆𝑚 𝑡
2 𝑚−1
(19)
El grado del polinomio mínimo de A es m, consideremos que tenemos 2 raíces repetidas (𝜆1 = 𝜆2 )
y el resto distintas. Se deben resolver las siguientes m ecuaciones para los 𝛼𝑘 :
𝛼0 + 𝛼1 𝜆1 + 𝛼2 𝜆12 + ⋯ + 𝛼𝑚−1 𝜆1𝑚−1 = 𝑒 𝜆1 𝑡
𝛼1 𝜆1 + 2𝛼2 𝜆1 + 3𝛼3 𝜆12 + ⋯ + (𝑚 − 1)𝛼𝑚−1 𝜆1𝑚−2 = 𝑡𝑒 𝜆1 𝑡
𝛼0 + 𝛼1 𝜆3 + 𝛼2 𝜆23 + ⋯ + 𝛼𝑚−1 𝜆𝑚−1
3 = 𝑒 𝜆3 𝑡
:
𝛼0 + 𝛼1 𝜆𝑚 + 𝛼2 𝜆𝑚 + ⋯ + 𝛼𝑚−1 𝜆𝑚 = 𝑒 𝜆𝑚 𝑡
2 𝑚−1 (21)
Tal como en el caso 1, una vez obtenidos los coeficientes 𝛼𝑘 , es necesario utilizarlos en la
ecuación 20:
𝑒 𝐴𝑡 = 𝛼0 + 𝛼1 𝐴 + 𝛼2 𝐴2 + ⋯ + 𝛼𝑚−1 𝐴𝑚−1
5. Desarrollo de la práctica
Lo primer que tuvimos que resolver para la práctica es la forma en la que se ingresaría la matriz,
pensamos en colocarla directo en el programa, pero nos decidimos que se ingresara valor por valor
desde teclado.
Para ello escribimos las siguientes líneas de código (Figura 1).
clc
clear all
close all
Continuando con la introducción del programa, mostramos los eigenvalores de la matriz A y los
ordenamos de menor a mayor en el vector ‘r’, además indicamos la estabilidad del sistema. (Figura
2)
disp('Los eigenvalores de A son: ')
r = sortrows(eig(A)) %se obtienen los eigen valores de A y se ordenan de menor a mayor
disp('**********************************************')
if real(r)<=0
disp('Es estable')
else
disp('No es estable')
end
disp('**********************************************' )
Como se observa, resultó bastante sencillo, ya que solo se necesita de la inversa de Laplace del
determinante de un polinomio, por último, se muestra la matriz resultante de manera simplificada.
El segundo método representó algo más complicado dado que involucra el manejo de arreglo de
estructuras.
Como primer paso, creamos las variables simbólicas correspondientes a los coeficientes B,
posterior, creamos la función (15) y sustituimos los valores de lambda por cada raíz al tiempo que
creamos la exponencial (𝑒 𝜆𝑡 ) para cada ecuación, como punto importante, analizamos el caso para
las raíces múltiples y guardamos las ecuaciones en un arreglo (Eqs). Con todas las ecuaciones en
el arreglo, obtenemos las soluciones para los coeficientes y las guardamos en un arreglo de
estructuras que convertimos en celdas para un mejor manejo, por último, creamos un vector (X)
para guardar los valores de los coeficientes y lo usamos para crear la matriz exponencial con la
ecuación(17).
%----------------------------------SEGUNDO MÉTODO--------------------------------
E = sym(zeros(n)); %inicializamos E
fprintf('Cálculo de la exponencial de A por el segundo método' )
r(length(r) + 1) = nan; %Ingresar un valor nulo para manejarlo en el
% %siguiente for (preguntar por raices múltiples)
%Variable de coeficientes
syms B [1 length(r)];
%Se inicializa la función H(lambda)
H = 0;
for i = 1:length(r) - 1
H = H + B(i)*(lambda^(i-1)); %B(n-1)lambda^(n-1)+…+B1lambda+B0
end
%Se evaluan las raíces en H(lambda)
for i = 1:(length(r) - 1)
HL(i) = subs(H,lambda,r(i));
%Se obtiene la exponencial correspondiente para cada ecuación
E(i) = exp(r(i)*t);
%Se evaluan los casos con raíces repetidas
if r(i) == r(i+1)
HL(i) = subs(diff(H,lambda),lambda,r(i)); E(i) = t*exp(r(i)*t);
end
%Se guardan las ecuaciones para cada ecuación
Eqs(i) = HL(i) == E(i);
end
S = struct2cell(solve(Eqs(:,:),B(1,:))); %Se obtiene un arreglo en celdas de las
soluciones para los coeficientes
%Se crea un vector (X) con las soluciones
for i = 1:length(r)-1
X(i) = S{i,:};
end
M2 = 0; %Se inicializa la matriz exponencial
for i = 1:length(r)-1
M2 = M2+X(i)*eye(n)*(A^(i-1));
end
%Se muestra la matriz simplificada
simplify(M2)
El tercer método lo iniciamos evaluando los eigen valores para saber si aplicar la forma diagonal
(19) o la forma canónica de Jordan (20), en este punto obteníamos en las exponenciales de la
matriz, para solucionarlo aplicamos un redondeo de 3 dígitos después del punto decimal para evitar
números muy pequeños (casi cero), por último, creamos la matriz exponencial (𝑒 𝐴𝑡 ) y calculamos
la matriz resultante de manera simplificada. (Figura 5)
%----------------------------------TERCER MÉTODO----------------------------------
%---------------------------------CUARTO MÉTODO------------------------------------
Para demostrar el funcionamiento de los métodos utilizaremos una matriz de 2x2 y una de 3x3 de
los ejemplos vistos en clase:
Al igual que en la matriz de 2x2, se obtienen las mismas matrices para cada método, por lo tanto,
el programa funciona de manera correcta.
6. Conclusiones
Es importante para la comprensión del estudio de estabilidad poder resolver bajo los 4 métodos la solución
a la matriz exponencial, la mayoría de ellos no utiliza el cálculo de auto vectores (generalizados) de la
matriz, lo cual ha sido un método clásico de abordar el problema en varios textos a nivel de iniciación. Si
bien estos métodos pueden aplicarse a cualquier matriz, todos ellos resultan ineficaces si tratamos con
matrices grandes o con entradas inexactas considerando las similitudes que se tienen entre el método 2 y la
interpolación de Sylvester el cual no solo nos ayuda a calcular la matriz exponencial, sino también la
evaluación matricial de cualquier función analítica.
En la parte de programación de la práctica, podemos decir que el primer método resultó bastante sencillo
ya que existen funciones en Matlab para obtenerla de forma directa, conforme fuimos avanzando en los
métodos se no fue complicando cada vez más, pero con ayuda de los ejemplos brindados por el profesor y
los manuales que ofrece Matlab pudimos obtener resolución de todos los métodos, los más complicados
fueron el segundo y por consecuencia el cuarto, ya que se necesitó del manejo de arreglo de estructuras.
Es de gran importancia que el programa nos haya resultado, ya que obtener la matriz exponencial nos será
muy útil para el resto de la materia y materias posteriores.
7. 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.