ER1.24. Solución de la ecuación de estado utilizando la forma canónica diagonal

Introducción (planteamiento)

Dada la siguiente ecuación de estado, convertirla a la forma canónica diagonal y resolverla:

˙x=[0123]x+[01]u, x(0)=0

Entrada: u=1

Método (plan de solución)

Pasos: (i) hallar los valores y vectores propios; (ii) definir la matriz de transformación lineal y convertir la ecuación a la forma canónica diagonal; (iii) resolver cada una de las ecuaciones diferenciales de primer orden del sistema transformado (contiene cada una solo una variable de estado, por lo que se dice que el modelo está desacoplado); (iv) con la inversa de la transformación lineal regresar a las variables originales (si solo interesa obtener una salida no es necesario hacer este paso, pero aquí se exige obtener todo el estado); (v) analizar el resultado.

Resultados (solución)

Valores propios:

|λIA|=0

λ={2,2}

Cálculo de los vectores propios:

Av1=λ1v1,[0123][v11v21]=2[v11v21],v1=[12]

Av2=λ2v2,[0123][v12v22]=[v12v22],v2=[11]

Transformación lineal a partir de los vectores propios:

T=[v1v2]1=[1121]1=[1121]

Modelo diagonal:

˙x=[2001]x+[11]u

Ecuaciones desacopladas y su solución:

˙x1=2x11,x1=12(1+c1e2t)

˙x2=x2+1,x2=1+c2et

Solución en las variables de estado originales:

x(t)=T1x(t)=[1121][12(1+c1e2t)1+c2et]=[12+12e2tete2t+et]

Discusión y verificación

El resultado anterior muestra que en muchas ocasiones se puede resolver una ecuación de estado llevándola a la forma canónica diagonal, si es posible, o a la forma canónica de Jordan. Para verificar la solución se obtiene la respuesta temporal con MATLAB por simulación y se compara con la respuesta analítica calculada.

Respuesta temporal

Código de MATLAB:

S = ss ([0 1; -2 -3], [0; 1], [1 0;0 1],0); t = 0:0.01:10; 
N = length(t); 
u = ones(1,N); 
xsim = lsim(S, u, t);
x1 = 0.5*( 1 + exp(-2*t) ) - exp(-t); 
x2 = exp(-t) - exp(-2*t);
p = plot(t, x1, t, xsim(:,1), 'o', t, x2, '--', t, xsim(:,2), 'x', 'MarkerIndices',1:20:N); 
p(1).LineWidth = 2; 
p(3).LineWidth = 2; 
xlabel('t (seg)'), 
legend('x1 analítica', 'x1 simulada', 'x2 analítica', 'x2 simulada')

Los resultados muestran que la solución calculada es correcta. Dado que los valores propios están en el semiplano izquierdo, la respuesta temporal corresponde a un sistema estable.

Comentarios