Main Content

Provide help on MPC controller properties

`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.

Display all fields of MPC objects, with related explanation.

mpcprops MPC controller properties (with Ny output variables and Nu manipulated variables): Model - a structure 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 (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 (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/update at the operating point Default: all nominal values set to zero. Define input signal types 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 unit 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 (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) - (min 1, max p) x Nu matrix of weights on manipulated variables Default: zeros(1,Nu) Weights.ManipulatedVariablesRate (or MVRate or ManipulatedRate or InputRate) - (min 1, max p) x Nu matrix of weights on rates of manipulated variables Default: 0.1*ones(1,Nu). Weights.OutputVariables (or OV or Output) - (min 1, max p) x Ny matrix of weights on plant outputs Default: if Ny<=Nu, ones(1,Ny); otherwise, only Nu outputs are weighted by default with preference on measured outputs Weights.ECR - Scalar weight on the slack variable used for constraint softening Default: 1e5*max(Weights) Alternative weighting: using the syntax Weights.MV={R}, where R is a Nu x Nu symmetric and positive semi-definite matrix, one can specify a matrix weight R, that is constant over the prediction horizon (similar syntax for Weights.MVRate and Weights.OV) 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 (default: -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 (default: 1). MV #i will be divided by its scale factor to form the dimensionless signal used in MPC computations. 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 (default: 1). OV #i will be divided by its scale factor to form the dimensionless signal used in MPC computations. 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 (default: 1). MV #i will be divided by its scale factor to form the dimensionless signal used in MPC computations. DV comprises all the measured disturbance inputs followed by all the unmeasured disturbance inputs. Optimizer - QP optimizer parameter structure with fields: Optimizer.Algorithm - solver algorithm (default: 'active-set') Optimizer.ActiveSetOptions - active-set solver options Optimizer.InteriorPointOptions - interior-point options Optimizer.MinOutputECR - minimum value of output MinECR and MaxECR (default: 0) Optimizer.UseSuboptimalSolution - true if controller applies the sub-optimal solution when maximum iteration number is exceeded (default: false) Optimizer.CustomSolver - true if custom QP solver is to be used (default: false) Optimizer.CustomSolverCodeGen - true if custom QP solver is to be 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 - creation date and time info. See the "mpc" command for construction syntax.

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.

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: .

Select web siteYou can also select a web site from the following list:

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

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

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