# ivstruc

Loss functions for sets of ARX model structures

## Syntax

`v = ivstruc(ze,zv,NN)v = ivstruc(ze,zv,NN,p,maxsize)`

## Description

`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 \left(t\right){\phi }^{T}\left(t\right)$

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.

 Note   The IV method used does not guarantee that the models obtained are stable. The output-error fit calculated in `v` can then be misleading.

## Examples

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); ```

collapse all

### Algorithms

A maximum-order ARX model is computed using the least squares method. Instruments are generated by filtering the input(s) through this model. The models are subsequently obtained by operating on submatrices in the corresponding large IV matrix.

## References

Ljung, L. System Identification: Theory for the User, Upper Saddle River, NJ, Prentice-Hal PTR, 1999.

Get trial now