| simcon {timsac} | R Documentation | 
Optimal Controller Design and Simulation
Description
Produce optimal controller gain and simulate the controlled process.
Usage
simcon(span, len, r, arcoef, impulse, v, weight)
Arguments
| span | span of control performance evaluation. | 
| len | length of experimental observation. | 
| r | dimension of control input, less than or equal to  | 
| arcoef | matrices of autoregressive coefficients.  | 
| impulse | impulse response matrices. | 
| v | covariance matrix of innovation. | 
| weight | weighting matrix of performance. | 
Details
The basic state space model is obtained from the autoregressive moving average
model of a vector process y(t);
y(t) - A(1)y(t-1) -\ldots- A(p)y(t-p) = u(t) - B(1)u(t-1) -\ldots- B(p-1)u(t-p+1),
where A(i) (i=1,\ldots,p) are the autoregressive
coefficients of the ARMA representation of y(t).
Value
| gain | controller gain. | 
| ave | average value of i-th component of  | 
| var | variance. | 
| std | standard deviation. | 
| bc | sub matrices  | 
| bd | sub matrices  | 
References
H.Akaike, E.Arahata and T.Ozaki (1975) Computer Science Monograph, No.6, Timsac74, A Time Series Analysis and Control Program Package (2). The Institute of Statistical Mathematics.
Examples
x <- matrix(rnorm(1000*2), nrow = 1000, ncol = 2)
ma <- array(0, dim = c(2,2,2))
ma[, , 1] <- matrix(c( -1.0,  0.0,
                        0.0, -1.0), nrow = 2, ncol = 2, byrow = TRUE)
ma[, , 2] <- matrix(c( -0.2,  0.0,
                       -0.1, -0.3), nrow = 2, ncol = 2, byrow = TRUE)
y <- mfilter(x, ma, "convolution")
ar <- array(0, dim = c(2,2,3))
ar[, , 1] <- matrix(c( -1.0,  0.0,
                        0.0, -1.0), nrow = 2, ncol = 2, byrow = TRUE)
ar[, , 2] <- matrix(c( -0.5, -0.2,
                       -0.2, -0.5), nrow = 2, ncol = 2, byrow = TRUE)
ar[, , 3] <- matrix(c( -0.3, -0.05,
                       -0.1, -0.3), nrow = 2, ncol = 2, byrow = TRUE)
y <- mfilter(y, ar, "recursive")
z <- markov(y)
weight <-  matrix(c(0.0002,  0.0,
                    0.0,     2.9 ), nrow = 2, ncol = 2, byrow = TRUE)
simcon(span = 50, len = 700, r = 1, z$arcoef, z$impulse, z$v, weight)