Main Content

mpcprops

Provide help on MPC controller properties

Syntax

Description

example

mpcprops displays details on the generic properties of MPC controllers. It provides a complete list of all the fields of MPC objects with a brief description of each field and the corresponding default values.

Examples

collapse all

Display all fields of MPC objects, with related explanation.

mpcprops
                                                                                                                                                                            
 MPC controller properties (with Ny output variables and Nu manipulated variables):                                                                                         
                                                                                                                                                                            
 Model - a structure of plant, disturbance and noise models and their nominal values.                                                                      
     Model.Plant - plant model (LTI or linear model from System Identification Toolbox).                                                                   
         Default: none, must be specified.                                                                                                                                  
     Model.Disturbance - model describing unmeasured input disturbances (LTI or linear 
         model from System Identification Toolbox).                          
         Default: integrator (models step disturbance).                                                                                                                     
         See also: "getindist" and "setindist" commands                                                                                   
     Model.Noise - model describing added output measurement noise (LTI or linear model 
         from System Identification Toolbox).                               
         Default: unity gain (models white noise).                                                                                                                          
     Model.Nominal - structure containing nominal state, input, and output variable values.                                                                
         Model.Nominal.X - state of Model.Plant at the operating point                                                                                     
         Model.Nominal.U - input of Model.Plant at the operating point                                                                                     
         Model.Nominal.Y - output of Model.Plant at the operating point                                                                                    
         Model.Nominal.DX - state derivative/update at the operating point                                                                                 
         Default: all nominal values set to zero.                                                                                                                           
                                                                                                                                                                            
    Define input signal types Model.Plant.InputGroup:                                                                                                      
       ManipulatedVariables (or MV or Manipulated or Input) - indices of manipulated variables                                                                              
               UnmeasuredDisturbances (or UD or Unmeasured) - indices of unmeasured disturbances                                                                            
                   MeasuredDisturbances (or MD or Measured) - indices of measured disturbances                                                                              
    By default, all the plant inputs are manipulated variables.                                                                                                             
    See also:  the "setmpcsignals" command.                                                                                                                
                                                                                                                                                                            
    Define output signal types in Model.Plant.OutputGroup:                                                                                                 
                        MeasuredOutputs (or MO or Measured) - indices of measured outputs                                                                                   
                      UnmeasuredOutputs (or UO or Unmeasured) - indices of unmeasured outputs                                                                               
    By default, all the plant outputs are measured outputs.                                                                                                                 
    See also:  the "setmpcsignals" command.                                                                                                                
                                                                                                                                                                            
 Ts - sample time of the MPC controller (in the same time unit as Model.Plant).                                                                            
    Default:  if Model.Plant.Ts > 0, MPC.Ts = Model.Plant.Ts; otherwise, MPC.Ts must be specified.                                                                          
                                                                                                                                                                            
 PredictionHorizon - intervals in the prediction horizon (scalar)                                                                                          
    Default: 10 + max intervals of delay in Model.Plant                                                                                                                     
                                                                                                                                                                            
 ControlHorizon - intervals in the control horizon (scalar or a vector of blocked moves)                                                                   
    Default: 2                                                                                                                                                              
                                                                                                                                                                            
 Weights - a structure defining dimensionless MPC weights with the following fields:                                                                       
     Weights.ManipulatedVariables (or MV or Manipulated or Input) - (min 1, max p) x Nu matrix 
         of weights on manipulated variables                         
         Default: zeros(1,Nu)                                                                                                                                               
     Weights.ManipulatedVariablesRate (or MVRate or ManipulatedRate or InputRate) - (min 1, max p) 
         x Nu matrix of weights on rates of manipulated variables
         Default: 0.1*ones(1,Nu).                                                                                                                                           
     Weights.OutputVariables (or OV or Output) - (min 1, max p) x Ny matrix of weights on plant outputs                                                    
         Default: if Ny<=Nu, ones(1,Ny); otherwise, only Nu outputs are weighted by default with 
                  preference on measured outputs                                             
     Weights.ECR - Scalar weight on the slack variable used for constraint softening                                                                       
         Default: 1e5*max(Weights)                                                                                                                                          
                                                                                                                                                                            
     Alternative weighting: using the syntax Weights.MV={R}, where R is a Nu x Nu                                                                          
     symmetric and positive semi-definite matrix, one can specify a matrix weight R,                                                                                        
     that is constant over the prediction horizon (similar syntax for Weights.MVRate and Weights.OV)                                                                        
                                                                                                                                                                            
 ManipulatedVariables (or MV or Manipulated or Input) - array of structures with fields:                                                                   
     MV(i).Min         - 1 to P dimensional vector of lower bounds on MV #i (default: -Inf)                                                                
          .Max         - 1 to P dimensional vector of upper bounds on MV #i (default:  Inf)                                                                
          .MinECR      - 1 to P dimensional vector of weights for softening the                                                                            
                         lower bounds on MV #i (default: 0, hard constraint)                                                                                                
          .MaxECR      - 1 to P dimensional vector of weights for softening the                                                                            
                         upper bounds on MV #i (default: 0, hard constraint)                                                                                                
          .RateMin     - 1 to P dimensional vector of lower bounds on the rate of MV #i (default: -Inf)                                                    
          .RateMax     - 1 to P dimensional vector of upper bounds on the rate of MV #i (default: Inf)                                                     
          .MinECR      - 1 to P dimensional vector of weights for softening the                                                                            
                         lower bounds on the MV #i rate (default: 0, hard constraint)                                                                                       
          .MaxECR      - 1 to P dimensional vector of weights for softening the                                                                            
                         upper bounds on the MV #i rate (default: 0, hard constraint)                                                                                       
          .Target      - 1 to P dimensional vector of target values for MV #i (default: Model.Nominal.U)                                                   
          .Name        - name of MV #i (default: from Model.Plant.InputName                                                                                
          .Units       - string specifying the engineering units for MV #i                                                                                 
          .ScaleFactor - a scalar in engineering units (default: 1). MV #i will be divided by its                                                          
                         scale factor to form the dimensionless signal used in MPC computations.                                                                            
                                                                                                                                                                            
 OutputVariables (or OV or Controlled or Output) - array of structures with fields:                                                                        
     OV(i).Min        - 1 to P dimensional vector of lower bounds on OV #i (default: -Inf)                                                                 
          .Max        - 1 to P dimensional vector of upper bounds on OV #i (default:  Inf)                                                                 
          .MinECR     - 1 to P dimensional vector of weights for softening the                                                                             
                        lower bounds on OV #i (default: 1, soft constraint)                                                                                                 
          .MaxECR     - 1 to P dimensional vector of weights for softening the                                                                             
                        upper bounds on OV #i (default: 1, soft constraint)                                                                                                 
          .Name        - name of OV #i (default: Model.Plant.OutputName{i})                                                                                
          .Units       - string specifying the engineering units for OV #i                                                                                 
          .ScaleFactor - a scalar in engineering units (default: 1). OV #i will be divided by its                                                          
                         scale factor to form the dimensionless signal used in MPC computations.                                                                            
                                                                                                                                                                            
 DisturbanceVariables (or DV or Disturbance) - array of structures with fields:                                                                            
     DV(i).Name - name of DV #i (default: from Model.Plant.InputName                                                                                       
          .Units - string specifying the engineering units for DV #i                                                                                       
          .ScaleFactor - a scalar in engineering units (default: 1). MV #i will be divided by its                                                          
                         scale factor to form the dimensionless signal used in MPC computations.                                                                            
     DV comprises all the measured disturbance inputs followed by all the unmeasured disturbance inputs.                                                                    
                                                                                                                                                                            
 Optimizer - QP optimizer parameter structure with fields:                                                                                                 
     Optimizer.Algorithm - solver algorithm (default: 'active-set')                                                                                        
     Optimizer.ActiveSetOptions - active-set solver options                                                                                                
     Optimizer.InteriorPointOptions - interior-point options                                                                                               
     Optimizer.MinOutputECR - minimum value of output MinECR and MaxECR (default: 0)                                                                       
     Optimizer.UseSuboptimalSolution - true if controller applies the sub-optimal solution when maximum 
     iteration number is exceeded (default: false)      
     Optimizer.CustomSolver - true if custom QP solver is to be used (default: false)                                                                      
     Optimizer.CustomSolverCodeGen - true if custom QP solver is to be used for code generation (default: false)                                           
                                                                                                                                                                            
 Notes - user's notes. It can be a string or a cell array of strings.                                                                                      
                                                                                                                                                                            
 UserData - additional information or data. It can be any MATLAB data type.                                                                                
                                                                                                                                                                            
 History - creation date and time info.                                                                                                                    
                                                                                                                                                                            
 See the "mpc" command for construction syntax.                                                                                                            

See Also

|

Introduced before R2006a