¿Cómo trazar las variables del espacio de estado en función del tiempo en la entrada de pasos de la unidad?

0

Tengo un sistema definido en el modelo de espacio de estado con las siguientes matrices

A =

$$         \ begin {matrix}         0 & 1 & 0 & 0 \\         0 & 0 & 1 & 0 \\        -1280 & -254 & -26 & 3400 \\         -1 & 0 & 0 & 0 \\         \ end {matriz} $$

B =

$$         \ begin {matrix}         0 \\         0 \\         1 \\         0 \\         \ end {matriz} $$

C = $$         \ begin {matrix}         1 & 0 & 0 & 0 \\         \ end {matriz} $$

D = 0

Como ve, tengo 4 variables de estado, quiero trazarlas en función del tiempo con la entrada de pasos en matlab.

    
pregunta Shady Atef

2 respuestas

1

Parece que la función matlab step ya puede hacer eso

Lo he resuelto usando las siguientes ecuaciones:

[y,t,x] = step(ss_model,1) % X here will have trajectories for the 
x1 = [ 1 0 0 0]*x';
x2 = [ 0 1 0 0]*x';
x3 = [ 0 0 1 0]*x';
x4 = [ 0 0 0 1]*x';
    
respondido por el Shady Atef
1

Hay una mejor manera:

close all; clear all; clc;

A = [0 1 0 0; 0 0 1 0; -1280 -254 -26 3400; -1 0 0 0];
B = [0;0;1;0];
C = [1 0 0 0];
D = [0];

sys = ss(A,B,C,D);
[y,t,x] = step(sys);
plot(t,x);
legend('x1','x2','x3','x4');
    
respondido por el MrYouMath

Lea otras preguntas en las etiquetas