Main Content

# getpar

Obtain attributes such as values and bounds of linear model parameters

## Syntax

``value = getpar(sys,'value')``
``free = getpar(sys,'free')``
``bounds = getpar(sys,'bounds')``
``label = getpar(sys,'label')``
``getpar(sys)``

## Description

example

````value = getpar(sys,'value')` returns the parameter values of the model `sys`. If `sys` is a model array, the returned value is a cell array of size equal to the model array.```

example

````free = getpar(sys,'free')` returns the free or fixed status of the parameters.```

example

````bounds = getpar(sys,'bounds')` returns the minimum and maximum bounds on the parameters.```

example

````label = getpar(sys,'label')` returns the labels for the parameters.```

example

````getpar(sys)` prints a table of parameter values, labels, free status and minimum and maximum bounds.```

## Examples

collapse all

Get the parameter values of an estimated ARMAX model.

Estimate an ARMAX model.

```load iddata8 init_data = z8(1:100); na = 1; nb = [1 1 1]; nc = 1; nk = [0 0 0]; sys = armax(init_data,[na nb nc nk]);```

Get the parameter values.

`val = getpar(sys,'value')`
```val = 5×1 -0.7519 -0.4341 0.4442 0.0119 0.3431 ```

To set parameter values, use `sys = setpar(sys,'value',value)`.

Get the free parameters and their bounds for a process model.

Construct a process model, and set its parameter values and free status.

```m = idproc('P2DUZI'); m.Kp = 1; m.Tw = 100; m.Zeta = .3; m.Tz = 10; m.Td = 0.4; m.Structure.Td.Free = 0;```

Here, the value of `Td` is fixed.

Get the parameter values.

`Val = getpar(m,'Value')`
```Val = 5×1 1.0000 100.0000 0.3000 0.4000 10.0000 ```

Get the free statuses of the parameters.

`Free = getpar(m,'Free')`
```Free = 5x1 logical array 1 1 1 0 1 ```

The output indicates that `Td` is a fixed parameter and the remaining parameters are free.

Get the default bounds on the parameters.

`MinMax = getpar(m,'bounds')`
```MinMax = 5×2 -Inf Inf 0 Inf 0 Inf 0 Inf -Inf Inf ```

Extract the values of the free parameters.

`FreeValues = Val(Free)`
```FreeValues = 4×1 1.0000 100.0000 0.3000 10.0000 ```

Extract the bounds on the free parameters.

`FreeValBounds = MinMax(Free,:)`
```FreeValBounds = 4×2 -Inf Inf 0 Inf 0 Inf -Inf Inf ```

Get the parameter labels of an estimated ARMAX model.

Estimate an ARMAX model.

```load iddata8; init_data = z8(1:100); na = 1; nb = [1 1 1]; nc = 1; nk = [0 0 0]; sys = armax(init_data,[na nb nc nk]);```

Assign parameter labels.

`sys.Structure.A.Info(2).Label = 'a2';`

Get the parameter labels.

`label = getpar(sys,'label')`
```label = 5x1 cell {'a2' } {0x0 char} {0x0 char} {0x0 char} {0x0 char} ```

Obtain a table of all model parameter attributes of an ARMAX model.

Estimate an ARMAX model.

```load iddata8; init_data = z8(1:100); na = 4; nb = [3 2 3]; nc = 2; nk = [0 0 0]; sys = armax(init_data,[na nb nc nk]);```

Get all parameter attributes.

`getpar(sys)`
```------------------------------------------------------ # Label Value Free Min. Max. ------------------------------------------------------ 1. -1.4328 1 -Inf Inf 2. 0.497 1 -Inf Inf 3. 0.22904 1 -Inf Inf 4. -0.09849 1 -Inf Inf 5. -0.10246 1 -Inf Inf 6. 1.1671 1 -Inf Inf 7. 0.39579 1 -Inf Inf 8. 0.97219 1 -Inf Inf 9. 0.026995 1 -Inf Inf 10. -0.17113 1 -Inf Inf 11. 0.16155 1 -Inf Inf 12. 0.48468 1 -Inf Inf 13. -1.8871 1 -Inf Inf 14. 0.97391 1 -Inf Inf ```

## Input Arguments

collapse all

Identified linear model, specified as an `idss`, `idpoly`, `idgrey`, `idtf`, or `idfrd` model object or an array of model objects.

## Output Arguments

collapse all

Parameter values, returned as a double vector of length `nparams(sys)`.

Free or fixed status of parameters, returned as a logical vector of length `nparams(sys)`.

Minimum and maximum bounds on parameters, returned as a double matrix of size `nparams(sys)`-by-2. The first column contains the minimum bound, and the second column the maximum bound.

Parameter labels, returned as a cell array of character vectors of length `nparams(sys)`. For example, `{'a2','a3'}`, if `nparams(sys)` is two.

## Version History

Introduced in R2013b