| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Model Predictive Control Toolbox |
| Contents | Index |
Prediction Model
The linear model used in Model Predictive Control Toolbox™ software for prediction and optimization is depicted in Figure 2-1.
Figure 2-1: Model Used for Optimization
| Note When defining a model predictive controller, you must specify a plant model. You do not need to specify a model generating the disturbances, as the controller setup assumes by default that unmeasured disturbances are generated by integrators driven by white noise (see Output Disturbance Model and setindist). |
The model of the plant is a linear time-invariant system described by the equations
where x(k) is the nx-dimensional state vector of the plant, u(k) is the nu-dimensional vector of manipulated variables (MV), i.e., the command inputs, v(k) is the nv-dimensional vector of measured disturbances (MD), d(k) is the nd-dimensional vector of unmeasured disturbances (UD) entering the plant, ym(k) is the vector of measured outputs (MO), and yu(k) is the vector of unmeasured outputs (UO). The overall ny-dimensional output vector y(k) collects ym(k) and yu(k).
Model Predictive Control Toolbox software accepts both plant models specified as LTI objects, and models obtained from input/output data using System Identification Toolbox (IDMODEL objects), see Using Identified Models.
In the above equations d(k) collects both state disturbances (Bd
0) and output disturbances (Dd
0).
| Note A valid plant model for Model Predictive Control Toolbox software cannot have direct feedthrough of manipulated variables u(k) on the output vector y(k). |
The unmeasured disturbance d(k) is modeled as the output of the linear time invariant system:
|
(2-2) |
The system described by the above equations is driven by the random Gaussian noise nd(k), having zero mean and unit covariance matrix. For instance, a step-like unmeasured disturbance is modeled as the output of an integrator. Input disturbance models as in the equations above can be manipulated by using the methods getindist and setindist.
| Note If continuous-time models are supplied, they are internally sampled with the controller's sampling time. |
Offsets
In many practical applications, the matrices A, B, C, D of the model representing the process to control are obtained by linearizing a nonlinear dynamical system, such as
at some nominal value x=x0, u=u0, v=v0, d=d0. In these equations x´ denotes either the time derivative (continuous time model) or the successor x(k+1) (discrete time model). As an example, x0, u0, v0, d0 may be obtained by using TRIM on a Simulink® model describing the nonlinear dynamical equations, and A, B, C, D by using LINMOD. The linearized model has the form:
The matrices A, B, C, D of the model are readily obtained from the Jacobian matrices appearing in the equations above.
The linearized dynamics are affected by the constant terms F=f(x0, u0, v0, d0) and H=h(x0, u0, v0, d0). For this reason the model predictive control algorithm internally adds a measured disturbance v=1, so that F and H can be embedded into Bv and Dv, respectively, as additional columns.
| Provide feedback about this page |
![]() | Model Predictive Control Problem Setup | Optimization Problem | ![]() |

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |