How to plot each state space variables seperatly
Afficher commentaires plus anciens
I created a state space system and I want to analyze the step response of each state space variable (x1, x2, x3...) seperatly. I'm not quite sure How am I suppose to access them. I've used the step command to creat vectors x and y, but I don't know how to creat a figure of x(t) (again, x1, x2, x3), and when Itry to access X or Y MATLAB tells me that the arrays are emptey, i would really like some help becasue I'm pretty new at MATLAB.
Thanks in advance!
My code so far:
A = [-1 4 0; 0 3 0; 0 0 -2];
B = [1 1 1];
B = transpose(B);
C = [-1 1 2];
sys = ss(A,[],C,[], 'StateName', {'x1' 'x2' 'x3'});
t = (0:0.1:5)';
[y, t, x] = step(sys,t);
plot(t, x(1));
Réponses (1)
David Wilson
le 8 Avr 2019
Couple of things. First up, you haven't inserted B into your state-space model so consequently you don't get any output.
To get the individual states, just access the relevant column of the outputted x variable.
A = [-1 4 0; 0 3 0; 0 0 -2]; % note unstable, check eig(A)
B = [1 1 1]'; % note transpose
C = [-1 1 2];
sys = ss(A,B,C,[], 'StateName', {'x1' 'x2' 'x3'}); % note B is used !
t = [0:0.1:5]';
[y, t, x] = step(sys,t);
for i=1:3
subplot(3,1,i);
plot(t, x(:,i)); % look at how I indexed into x
end
1 commentaire
Ritvik Srivant
le 8 Fév 2023
Thanks this literally saved me from grave. lol :)
Catégories
En savoir plus sur Tuning Goals dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!