lsim
(sys, u)(sys1, sys2, ..., sysN, u)(sys1, style1, ..., sysN, styleN, u)(sys1, ..., u, t)(sys1, ..., u, t, x0)[y, t, x] = lsim (sys, u)[y, t, x] = lsim (sys, u, t)[y, t, x] = lsim (sys, u, t, x0)[...] = lsim (..., method)Simulate LTI model response to arbitrary inputs. If no output arguments are given, the system response is plotted on the screen.
Inputs
LTI model. System must be proper, i.e. it must not have more zeros than poles.
Vector or array of input signal. Needs length(t) rows and as many columns
as there are inputs. If sys is a single-input system, row vectors u
of length length(t) are accepted as well.
Time vector. Should be evenly spaced. If sys is a continuous-time system
and t is a real scalar, sys is discretized with sampling time
tsam = t/(rows(u)-1). If sys is a discrete-time system and t
is not specified, vector t is assumed to be 0 : tsam : tsam*(rows(u)-1).
Vector of initial conditions for each state of a system in state space. If not specified, a zero vector is assumed. Note: A vector x0 provided for an input-output system representation is ignored and a zero vector of initial conditions is used instead because the internally used state space representaton does generally not match the one assumed for x0. For a simulation of an input-output model with initial conditions for the output y and its time-derivatives, see remarks below.
Line style and color, e.g. ’r’ for a solid red line or ’-.k’ for a dash-dotted
black line. See help plot for details.
Method that is used to discretize a continuous-time system for the simulation. See @lti/c2d for possible methods. If method is not provided, the default is ’foh’.
Outputs
Output response array. Has as many rows as time samples (length of t) and as many columns as outputs.
Time row vector. It is always evenly spaced.
State trajectories array. Has length (t) rows and as many columns as states.
Remarks
[A,b,c,d] = ssdata (G); T = obsv (A, c); G_ss = ss2ss (ss (G), T); initial (G_ss, x0);
Note that, in general, the states of G_ss are only equal to the output y and its first n-1 time derivaties if u=0, which is the case for the initial conditions immediately before t=0.
Source Code: lsim
clf;
A = [-3 0 0;
0 -2 1;
10 -17 0];
B = [4;
0;
0];
C = [0 0 1];
D = 0;
sys = ss(A,B,C,D);
t = 0:0.01:10;
u = zeros (length(t) ,1);
x0 = [0 0.1 0];
lsim(sys, u, t, x0);
|