Main Content

getpar

Obtain attributes such as values and bounds of linear model parameters

Description

example

value= getpar(sys,'value')returns the parameter values of the modelsys. Ifsysis 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.

loadiddata8init_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, usesys = 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 ofTdis fixed.

Get the parameter values.

Val = getpar(m,'Value')
Val =5×11.0000 100.0000 0.3000 0.4000 10.0000

Get the free statuses of the parameters.

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

The output indicates thatTdis 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×11.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.

loadiddata8; 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.

loadiddata8; 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 anidss,idpoly,idgrey,idtf, oridfrdmodel object or an array of model objects.

Output Arguments

collapse all

Parameter values, returned as a double vector of lengthnparams(sys).

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

Minimum and maximum bounds on parameters, returned as a double matrix of sizenparams(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 lengthnparams(sys). For example,{'a2','a3'}, ifnparams(sys)is two.

Introduced in R2013b