This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Nonlinear MPC

As in traditional linear MPC, nonlinear MPC calculates control actions at each control interval using a combination of model-based prediction and constrained optimization. The key differences are:

  • The prediction model can be nonlinear and include time-varying parameters.

  • The equality and inequality constraints can be nonlinear.

  • The scalar cost function to be minimized can be a nonquadratic (linear or nonlinear) function of the decision variables.

Using nonlinear MPC, you can:

  • Simulate closed-loop control of nonlinear plants under nonlinear costs and constraints.

  • Plan optimal trajectories by solving an open-loop constrained nonlinear optimization problem.

To implement nonlinear MPC, create an nlmpc object, and specify:

By default, nonlinear MPC controllers solve a nonlinear programming problem using the fmincon function with the SQP algorithm, which requires Optimization Toolbox™ software. If you do not have Optimization Toolbox software, you can specify your own custom nonlinear solver. For more information on configuring the fmincon solver and specifying a custom solver, see Configure Optimization Solver for Nonlinear MPC.

You can simulate nonlinear MPC controllers:


A nonlinear MPC controller does not support:

  • Code generation

  • Designing controllers using the MPC Designer app

See Also



Related Topics