initial {control} | R Documentation |
Initial Condition Response for Linear Systems
Description
initial
obtains the time response of the linear system:
dx/dt = Ax + Bu
y = Cx + Du
to an initial condition.
Usage
initial(sys, x0, t)
initialplot(sys, x0, t)
Arguments
sys |
LTI system of transfer-function, state-space and zero-pole classes |
x0 |
initial conditions as a column vector. Should have as many rows as the rows of A. where x0 is not specified, random values are assigned |
t |
regularly spaced time vector. If not provided, it is automatically set. For calls to |
Details
initial
produces the time response of linear systems to initial conditions using lsim
initialplot
produces the time response to initial conditions as a plot againts time.
The functions can handle both SISO and MIMO (state-space) models.
Other possible calls using initial
and initialplot
are:
initial(sys)
initial(sys, x0)
initialplot(sys)
initialplot(sys, x0)
Value
A list is returned by calling initial
containing:
x
Individual response of each x variable
y
Response of the system
t
Time vector
The matrix y
has as many rows as there are outputs, and columns of the same size of length(t)
.
The matrix X has as many rows as there are states. If the time
vector is not specified, then the automatically set time
vector is returned as t
A plot of y
vs t
is returned by calling initialplot
See Also
Examples
res <- initial(tf(1, c(1,2,1)))
res$y
res$t
A <- rbind(c(-2, -1), c(1,0)); B <- rbind(1,0);
C <- cbind(0,1); D <- as.matrix(0);
x0 <- matrix(c( 0.51297, 0.98127))
initialplot(ss(A,B,C,D), x0)
initialplot(tf(1, c(1,2,1)), t = seq(0, 10, 0.1))
## Not run: State-space MIMO systems
A <- rbind(c(0,1), c(-25,-4)); B <- rbind(c(1,1), c(0,1));
C <- rbind(c(1,0), c(0,1)); D <- rbind(c(0,0), c(0,0))
res <- initial(ss(A,B,C,D))
res$y # has two rows, i.e. for two outputs
initialplot(ss(A,B,C,D))