Documentation |
Loss functions for sets of ARX model structures
v = ivstruc(ze,zv,NN)
v = ivstruc(ze,zv,NN,p,maxsize)
v = ivstruc(ze,zv,NN) computes the loss functions for sets of ARX model structures. NN is a matrix that defines a number of different structures of the ARX type. Each row of NN is of the form
nn = [na nb nk]
with the same interpretation as described for arx. See struc for easy generation of typical NN matrices.
ze and zv are iddata objects containing output-input data. Only time-domain data is supported. Models for each model structure defined in NN are estimated using the instrumental variable (IV) method on data set ze. The estimated models are simulated using the inputs from data set zv. The normalized quadratic fit between the simulated output and the measured output in zv is formed and returned in v. The rows below the first row in v are the transpose of NN, and the last row contains the logarithms of the condition numbers of the IV matrix
$$\sum \varsigma (t){\phi}^{T}(t)$$
A large condition number indicates that the structure is of unnecessarily high order (see Ljung, L. System Identification: Theory for the User, Upper Saddle River, NJ, Prentice-Hal PTR, 1999, p. 498).
The information in v is best analyzed using selstruc.
The routine is for single-output systems only.
v = ivstruc(ze,zv,NN,p,maxsize) specifies the computation of condition numbers and the size of largest matrix formed during computations. If p is equal to zero, the computation of condition numbers is suppressed. maxsize affects the speed/memory trade-off.
Compare the effect of different orders and delays, using the same data set for both the estimation and validation.
load iddata1 z1; v = ivstruc(z1,z1,struc(1:3,1:2,2:4)); nn = selstruc(v) m = iv4(z1,nn);