review
Examine MPC controller for design errors and stability problems at run time
Description
review( checks for potential design
          issues in the model predictive controller with defined sample time,
            mpcobj)mpcobj, and generates a testing report. The testing report provides
          information about each test, highlights test warnings and failures, and suggests possible
          solutions. For more information on the tests performed by the review
          function, see Algorithms.
Examples
Input Arguments
Output Arguments
Tips
- You can also review your controller design in the MPC Designer app. On the Tuning tab, in the Analysis section, click Review Design. 
- Test your controller design using techniques such as simulations, since - reviewcannot detect all possible performance factors.
Algorithms
The review command performs the following tests.
| Test | Description | 
|---|---|
| MPC Object Creation | Tests whether the controller specifications generate a valid MPC controller. If the controller is invalid, additional tests are not performed. | 
| QP Hessian Matrix Validity | Tests whether the MPC quadratic programming (QP) problem for the controller has a unique solution. You must choose cost function parameters (penalty weights) and horizons such that the QP Hessian matrix is positive-definite. | 
| Closed-Loop Internal Stability | Extracts the Amatrix from the state-space realization of the
              unconstrained controller, and then calculate its eigenvalues. If the absolute value of
              each eigenvalue is less than or equal to1and the plant is stable,
              then your feedback system is internally stable. | 
| Closed-Loop Nominal Stability | Extracts the Amatrix from the discrete-time state-space
              realization of the closed-loop system; that is, the plant and controller connected in
              a feedback configuration. Then calculate the eigenvalues ofA. If
              the absolute value of each eigenvalue is less than or equal to1,
              then the nominal (unconstrained) system is stable. This test is not performed ifmpcobjis set to use a custom state estimator. | 
| Closed-Loop Steady-State Gains | Tests whether the controller forces all controlled output variables to their
              targets at steady state in the absence of constraints. This test is not performed if mpcobjis set to use a custom state estimator. This test is not
              performed ifmpcobjis set to use a custom state
              estimator. | 
| Hard MV Constraints | Tests whether the controller has hard constraints on both a manipulated variable and its rate of change, and if so, whether these constraints may conflict at run time. | 
| Other Hard Constraints | Tests whether the controller has hard output constraints or hard mixed input/output constraints, and if so, whether these constraints may become impossible to satisfy at run time. | 
| Soft Constraints | Tests whether the controller has the proper balance of hard and soft constraints by evaluating the constraint ECR parameters. | 
| Memory Size for MPC Data | Estimates the memory size required by the controller at run time. | 
Alternatives
review automates certain tests that you can perform at the command
      line.
Version History
Introduced in R2011b
See Also
Functions
- trim|- cloffset|- sensitivity|- ss|- tf|- zpk|- size|- d2d|- mpcverbosity|- mpcprops|- set|- get|- getname|- setname|- getindist|- getoutdist|- setindist|- setoutdist|- getEstimator|- setEstimator|- sim|- trim

