# mpcprops

Provide help on MPC controller properties

## Syntax

## Description

`mpcprops`

displays details on the generic properties of MPC
controllers. It provides a complete list of all the fields of MPC objects with a brief
description of each field and the corresponding default values.

## Examples

### Describe properties of MPC objects

Display all fields of MPC objects, with related explanation.

MPC controller properties (with Ny output variables Nu manipulated variables, a prediction horizon of p intervals, and control horizon of m intervals): Model - A structure consisting of plant, disturbance and noise models and their nominal values. Model.Plant - Plant model (LTI or linear model from System Identification Toolbox). Default: none, must be specified. Model.Disturbance - Model describing unmeasured input disturbances. Must be an LTI or linear model from System Identification Toolbox. Default: integrator (models step disturbance). See also: "getindist" and "setindist" commands. Model.Noise - Model describing added output measurement noise. Must be an LTI or linear model from System Identification Toolbox. Default: unity gain (models white noise). Model.Nominal - Structure containing nominal state, input, and output variable values: Model.Nominal.X - State of Model.Plant at the operating point. Model.Nominal.U - Input of Model.Plant at the operating point. Model.Nominal.Y - Output of Model.Plant at the operating point. Model.Nominal.DX - State derivative (for continuous time models) or update (for discrete time models) at the operating point. Default: all nominal values set to zero. Define input signal types in Model.Plant.InputGroup: ManipulatedVariables (or MV or Manipulated or Input) - Indices of manipulated variables. UnmeasuredDisturbances (or UD or Unmeasured) - Indices of unmeasured disturbances. MeasuredDisturbances (or MD or Measured) - Indices of measured disturbances. By default, all the plant inputs are manipulated variables. See also: the "setmpcsignals" command. Define output signal types in Model.Plant.OutputGroup: MeasuredOutputs (or MO or Measured) - Indices of measured outputs. UnmeasuredOutputs (or UO or Unmeasured) - Indices of unmeasured outputs. By default, all the plant outputs are measured outputs. See also: the "setmpcsignals" command. Ts - Sample time of the MPC controller (in the same time units as Model.Plant). Default: if Model.Plant.Ts > 0, MPC.Ts = Model.Plant.Ts; otherwise, MPC.Ts must be specified. PredictionHorizon - Intervals in the prediction horizon (scalar) Default: 10 + max intervals of delay in Model.Plant ControlHorizon - Intervals in the control horizon. Either a scalar or a vector of blocked moves. Default: 2 Weights - A structure defining dimensionless MPC weights with the following fields: Weights.ManipulatedVariables (or MV or Manipulated or Input) - Must be a (min 1, max p) x Nu matrix of weights on the manipulated variables. Default: zeros(1,Nu) Weights.ManipulatedVariablesRate (or MVRate or ManipulatedRate or InputRate) - Must be a (min 1, max p) x Nu matrix of weights on the rates of the manipulated variables. MV Rates are defined as the differences between current and ptrevious MV values. Default: 0.1*ones(1,Nu) Weights.OutputVariables (or OV or Output) - Must be a (min 1, max p) x Ny matrix of weights on the plant outputs. Default: if Ny<=Nu, ones(1,Ny); otherwise, only Nu outputs are weighted, with preference on measured outputs. Weights.ECR - Scalar weight on the slack variable Equal Concern for Relaxation, used for constraint softening. Default: 1e5*max(Weights) Alternative weighting: This syntax allows for off-diagonal weights, but requires the weights to be identical at each prediction horizon step. Using this syntax, Weights.MV={R}, where R is a Nu x Nu symmetric and positive semi-definite matrix, which must be constant over the prediction horizon. The syntax for Weights.MVRate and Weights.OV is similar. ManipulatedVariables (or MV or Manipulated or Input) - Array of structures with fields: MV(i).Min - 1 to p dimensional vector of lower bounds on MV #i Ddefault: -Inf .Max - 1 to P dimensional vector of upper bounds on MV #i Default: Inf .MinECR - 1 to p dimensional vector of weights for softening the lower bounds on MV #i Default: 0, (hard constraint). .MaxECR - 1 to p dimensional vector of weights for softening the upper bounds on MV #i Default: 0, (hard constraint). .RateMin - 1 to p dimensional vector of lower bounds on the rate of MV #i Default: -Inf .RateMax - 1 to p dimensional vector of upper bounds on the rate of MV #i Default: Inf .MinECR - 1 to p dimensional vector of weights for softening the lower bounds on the MV #i rate Default: 0, (hard constraint). .MaxECR - 1 to p dimensional vector of weights for softening the upper bounds on the MV #i rate Default: 0, (hard constraint). .Target - 1 to p dimensional vector of target values for MV #i Default: Model.Nominal.U .Name - Name of MV #i Default: from Model.Plant.InputName .Units - String specifying the engineering units for MV #i .ScaleFactor - A scalar in engineering units. Each MV will be divided by its scale factor to form the dimensionless signal used in the MPC computations. Default: 1 .Type - Type of variable MV #i (default: 'continuous'). Type can be 'continuous', 'binary', 'integer', or an array containing all the values MV #i can take. OutputVariables (or OV or Controlled or Output) - Array of structures with fields: OV(i).Min - 1 to p dimensional vector of lower bounds on OV #i. Default: -Inf .Max - 1 to p dimensional vector of upper bounds on OV #i. Default: Inf .MinECR - 1 to p dimensional vector of weights for softening the lower bounds on OV #i. Default: 1, (soft constraint). .MaxECR - 1 to p dimensional vector of weights for softening the upper bounds on OV #i. Default: 1, (soft constraint). .Name - Name of OV #i (default: Model.Plant.OutputName{i}) .Units - String specifying the engineering units for OV #i .ScaleFactor - A scalar in engineering units. Each OV will be divided by its scale factor to form the dimensionless signal used in the MPC computations. Default: 1 DisturbanceVariables (or DV or Disturbance) - Array of structures with fields: DV(i).Name - Name of DV #i (default: from Model.Plant.InputName). .Units - String specifying the engineering units for DV #i .ScaleFactor - A scalar in engineering units. Each DV will be divided by its scale factor to form the dimensionless signal used in all the MPC computations. Default: 1 Note: DV consists in all the measured disturbance inputs followed by all the unmeasured disturbance inputs. Optimizer - QP optimizer parameter structure with fields: Optimizer.Algorithm - Algorithm used by the solver. Default: 'active-set' Optimizer.ActiveSetOptions - Active-set solver options. Optimizer.InteriorPointOptions - Interior-point solver options. Optimizer.MixedIntegerOptions - Mixed-integer solver options. Optimizer.MinOutputECR - Minimum value of output MinECR and MaxECR. Default: 0 Optimizer.UseSuboptimalSolution - If True the controller applies the sub-optimal solution when the maximum number of iterations is exceeded. Default: false. Optimizer.CustomSolver - If true the custom QP solver is used for simulation. Default: false. Optimizer.CustomSolverCodeGen - If true the custom QP solver is used for code generation. Default: false. Notes - User's notes. It can be a string or a cell array of strings. UserData - Additional information or data. It can be any MATLAB data type. History - Date and time of the MPC object creation. See the "mpc" command for construction syntax.

## Version History

**Introduced before R2006a**

## 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)