How to obtain State space model response ?
18 views (last 30 days)
Show older comments
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?
0 Comments
Answers (3)
Paulo Silva
on 2 Feb 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 Comment
Rik
on 29 Dec 2021
great example for explaining the algorithm to extract a response of space state model to a specific input
Jamie
on 28 Aug 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)
0 Comments
See Also
Categories
Find more on Dynamic System Models in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!