Main Content

getoutdist

Retrieve unmeasured output disturbance model

Description

example

outdist = getoutdist(MPCobj) returns the output disturbance model, outdist, used by the model predictive controller, MPCobj.

example

[outdist,channels] = getoutdist(MPCobj) also returns the output channels to which integrated white noise has been added by default. For more information on the default model, see MPC Modeling.

Examples

collapse all

Define a plant model with no direct feedthrough, and create an MPC controller for that plant.

plant = rss(3,2,2);
plant.D = 0;
MPCobj = mpc(plant,0.1);
-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10.
-->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2.
-->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000.
-->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000.
-->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

Extract the output disturbance model.

outdist = getoutdist(MPCobj);
-->Converting model to discrete time.
-->Assuming output disturbance added to measured output channel #1 is integrated white noise.
-->Assuming output disturbance added to measured output channel #2 is integrated white noise.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

Define a plant model with no direct feedthrough, and create an MPC controller for that plant.

plant = rss(3,3,3);
plant.d = 0;
MPCobj = mpc(plant,0.1);
-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10.
-->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2.
-->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000.
-->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000.
-->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

Extract the default output disturbance model.

[outdist,channels] = getoutdist(MPCobj);
-->Converting model to discrete time.
-->Assuming output disturbance added to measured output channel #1 is integrated white noise.
-->Assuming output disturbance added to measured output channel #2 is integrated white noise.
-->Assuming output disturbance added to measured output channel #3 is integrated white noise.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

Check which channels have default integrated white noise disturbances.

channels
channels = 1×3

     1     2     3

Integrators have been added to all three output channels.

Input Arguments

collapse all

Model predictive controller, specified as an MPC controller object. To create an MPC controller, use mpc.

Output Arguments

collapse all

Output disturbance model used by the model predictive controller, MPCobj, returned as a discrete-time, delay-free, state-space model.

The output disturbance model has:

  • ny outputs, where ny is the number of plant outputs defined in MPCobj.Model.Plant. Each disturbance model output is added to the corresponding plant output. By default, disturbance models corresponding to unmeasured output channels are zero.

  • Unit-variance white noise input signals. By default, the number of inputs is equal to the number of default integrators added.

This model, in combination with the input disturbance model (if any), governs how well the controller compensates for unmeasured disturbances and modeling errors. For more information on the disturbance modeling in MPC and about the model used during state estimation, see MPC Modeling and Controller State Estimation.

Output channels with integrated white noise added by default, returned as a vector of output indices. If you set outdist to a custom output disturbance model using setoutdist, channels is empty.

Tips

  • To specify a custom output disturbance model, use the setoutdist command.

Introduced before R2006a