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