How to obtain State space model response ?

105 vues (au cours des 30 derniers jours)
Anand
Anand le 2 Fév 2011
Commenté : Rik le 29 Déc 2021
Hello friends i need one help on matab M-file programming. I have a Transfer function, it is easy to converter into state-space(A,B,C,D). For step and impulse signals inbuilt commands are available(like step(u*ss), impulse(u*ss)). But suppose my input is time varying other than step and impulse, how to obtain the output response. I am confused which ccommand is to use to get output response !
Assume TF = 1/(s+2) , i/p signal =square or sine or any time varing input. How to write M-file for this case?

Réponses (3)

Paulo Silva
Paulo Silva le 2 Fév 2011
[A,B,C,D]=tf2ss([1],[1 2]) %[1] or 1 is the same thing in this case
t = 0:0.01:2; %do the simulation from 0 to 2 seconds with step 0.01
%3 possible inputs, you can test with other inputs
%just be sure that u is the same size has t
%u = [1 zeros(1,numel(t)-1)]; %impulse
u = ones(1,numel(t)); %step
%u = t; %ramp
x0 = 0; %initial condition of system states
[y,x] = lsim(A,B,C,D,u,t,x0); %do the simulation
plot(t,y,t,u)
legend('Response','Input')
  1 commentaire
Rik
Rik le 29 Déc 2021
Comment posted as flag by @Hamid Reza Ashrafi:
great example for explaining the algorithm to extract a response of space state model to a specific input

Connectez-vous pour commenter.


Rajiv Singh
Rajiv Singh le 17 Sep 2012
see LSIM

Jamie
Jamie le 28 Août 2012
In the ofchance that others are also having a little bit or trouble plotting the system response a couple of simple examples are provided in the matlab documentation in the appended link (both forced and unforced MIMO and SISO)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by