Model Predictive Control

Model Predictive Control with discrete, continuous, linear, or nonlinear models.
Updated 23 Mar 2012

View License

Model Predictive Control (MPC) predicts and optimizes time-varying processes over a future time horizon. This control package accepts linear or nonlinear models. Using large-scale nonlinear programming solvers such as APOPT and IPOPT, it solves data reconciliation, moving horizon estimation, real-time optimization, dynamic simulation, and nonlinear MPC problems.

Three example files are contained in this directory that implement a controller for Linear Time Invariant (LTI) systems:

1. apm1_lti - translate any LTI model into APM format
2. apm2_step - perform step tests to ensure model accuracy
3. apm3_control - MPC setpoint change to new target values

Steps 2 and 3 also open web interfaces to view the step or controller response. Additional documentation and example problems are provided at:

Bi-weekly webinars are also hosted to demonstrate new applications and to provide tutorials. Prior presentations include applications of Unmanned Aerial Vehicles (UAVs), Friction Stir Welding (FSW), biological systems, energy storage, combustion, fuel cells, and others.

The control calculations are performed as a web service. The script files send the required information to a server where the calculations are performed. Results are returned to the script for trending or further analysis.

Cite As

John Hedengren (2024). Model Predictive Control (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes