How to obtain State space model response ?

84 次查看(过去 30 天)
Anand
Anand 2011-2-2
评论: Rik 2021-12-29
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?

回答(3 个)

Paulo Silva
Paulo Silva 2011-2-2
[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 个评论
Rik
Rik 2021-12-29
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

请先登录,再进行评论。


Rajiv Singh
Rajiv Singh 2012-9-17
see LSIM

Jamie
Jamie 2012-8-28
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