Main Content

MPC Design

Basic workflow for designing traditional (implicit) model predictive controllers

A model predictive controller uses linear plant, disturbance, and noise models to estimate the controller state and predict future plant outputs. Using the predicted plant outputs, the controller solves a quadratic programming optimization problem to determine optimal manipulated variable adjustments. For more information on the structure of model predictive controllers, see MPC Prediction Models. Using your plant, disturbance, and noise models, you can create an MPC controller using the MPC Designer app or at the command line. You can simulate the performance of your controller at the command line or in Simulink®.


  • Controller Creation
    Create model predictive controllers
  • Analysis
    Review run-time design errors and stability issues, analyze effect of weights on performance, convert unconstrained controller for linear analysis
  • Simulation
    Simulate controllers against linear or nonlinear plants in MATLAB® and Simulink
  • Refinement
    Specify custom disturbance models, custom state estimator, terminal weights, and custom constraints