MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# How to obtain State space model response ?

Asked by Anand on 2 Feb 2011

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?

## Products

Answer by 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')
```

Answer by 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)

http://www.mathworks.com/help/control/examples/plotting-system-responses.html