# getindist

Retrieve unmeasured input disturbance model

## Description

`[`

also returns the
input channels to which integrated white noise has been added by default.
For more information on the default model, see MPC Prediction Models.`indist`

,`channels`

]
= getindist(`mpcobj`

)

## Examples

### Retrieve Input Disturbance Model

Define a plant model with no direct feedthrough.

plant = rss(3,1,2); plant.D = 0;

Set the first input signal as a manipulated variable and the second input as an unmeasured disturbance.

plant = setmpcsignals(plant,MV=[1],UD=[2]);

Create an MPC controller for the defined plant.

mpcobj = mpc(plant,0.1);

-->"PredictionHorizon" is empty. Assuming default 10. -->"ControlHorizon" is empty. Assuming default 2. -->"Weights.ManipulatedVariables" is empty. Assuming default 0.00000. -->"Weights.ManipulatedVariablesRate" is empty. Assuming default 0.10000. -->"Weights.OutputVariables" is empty. Assuming default 1.00000.

Extract the input disturbance model.

indist = getindist(mpcobj);

-->Converting model to discrete time. -->The "Model.Disturbance" property is empty: Assuming unmeasured input disturbance #2 is integrated white noise. Assuming no disturbance added to measured output #1. -->"Model.Noise" is empty. Assuming white noise on each measured output.

### Retrieve Input Disturbance Model Channels with Default Integrated White Noise

Define a plant model with no direct feedthrough.

plant = rss(3,1,3); plant.D = 0;

Set the first input signal as a manipulated variable and the other two inputs as unmeasured disturbances.

plant = setmpcsignals(plant,MV=1,UD=[2 3]);

Create an MPC controller for the defined plant.

mpcobj = mpc(plant,0.1);

-->"PredictionHorizon" is empty. Assuming default 10. -->"ControlHorizon" is empty. Assuming default 2. -->"Weights.ManipulatedVariables" is empty. Assuming default 0.00000. -->"Weights.ManipulatedVariablesRate" is empty. Assuming default 0.10000. -->"Weights.OutputVariables" is empty. Assuming default 1.00000.

Extract the default output disturbance model.

[indist,channels] = getindist(mpcobj);

-->Converting model to discrete time. -->The "Model.Disturbance" property is empty: Assuming unmeasured input disturbance #2 is integrated white noise. Assuming unmeasured input disturbance #3 is white noise. Assuming no disturbance added to measured output #1. -->"Model.Noise" is empty. Assuming white noise on each measured output.

Check which input disturbance channels have integrated white noise added by default.

channels

channels = 1

An integrator has been added only to the first unmeasured input disturbance. The other input disturbance uses a static unity gain to preserve state observability.

## Input Arguments

`mpcobj`

— Model predictive controller

`mpc`

object

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

.

## Output Arguments

`indist`

— Input disturbance model

discrete-time, delay-free, state-space model

Input disturbance model used by the model predictive controller, `mpcobj`

,
returned as a discrete-time, delay-free, state-space model.

The input disturbance model has:

Unit-variance white noise input signals. By default, the number of inputs depends upon the number of unmeasured input disturbances and the need to maintain controller state observability. For custom input disturbance models, the number of inputs is your choice.

*n*outputs, where_{d}*n*is the number of unmeasured disturbance inputs defined in_{d}`mpcobj.Model.Plant`

. Each disturbance model output is sent to the corresponding plant unmeasured disturbance input.

If `mpcobj`

does not have any unmeasured
disturbance, `indist`

is returned as an empty state-space
model.

This model, in combination with the output 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 Prediction Models and Controller State Estimation.

## Tips

To specify a custom input disturbance model, use the

`setindist`

command.

## Version History

**Introduced in R2006a**

## See Also

### Functions

`getoutdist`

|`setindist`

|`setoutdist`

|`getEstimator`

|`setEstimator`

|`get`

|`set`

|`review`

|`sim`

### Objects

## Open Example

You have a modified version of this example. Do you want to open this example with your edits?

## MATLAB Command

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

## How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

### Americas

- América Latina (Español)
- Canada (English)
- United States (English)

### Europe

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)