Reduce the order of a model in theta format.
Syntax
THRED = idmodred(TH)
THRED = idmodred(TH,ORDER,OE)
Description
This function reduces the order of any model TH given in the theta format. The resulting reduced order model THRED is also in the theta format. This reduced model is always represented internally in state-space form with no free parameters, regardless of the nature of the model TH.
The function requires several routines in the Control Systems Toolbox.
ORDER: The desired order (dimension of the state-space representation). If ORDER = [], which is the default, a plot will show how the diagonal elements of the observability and controllability Gramians decay with the order of the representation. You will then be prompted to select an order based on this plot. The idea is that such a small element will have a negligible influence on the input-output behavior of the model. It is thus suggested that an order is chosen, such that only large elements in these matrices are retained.
OE: If the argument OE has the value 'oe', then an output error model THRED is produced, that is, one with the Kalman gain equal to zero (see (3.27) and (3.31) in Chapter 3, "Tutorial"). Otherwise (default), also the noise model is reduced.
The function will recognize whether TH is a continuous- or discrete-time model and perform the reduction accordingly. The resulting model THRED will be of the same kind in this respect as TH.
Algorithm
The functions (d)balreal and (d)modred from the Control Systems Toolbox are used. The plot, in case ORDER = [], shows the vector g as returned from (d)balreal.
Examples
Build a high order multivariable ARX model, reduce its order to 3 and compare the frequency responses of the original and reduced models:
TH = arx([y u],[4*ones(3,3),4*ones(3,2),ones(3,2)]);
THRED = idmodred(TH,3);
bodeplot([trf(TH),trf(THRED)])
Use the reduced order model as initial condition for a third order state-space model:
THI = ss2th(THRED);
THSS = pem([y u],THI);
See Also
ss2th
[ Previous | Help Desk | Next ]