mpcmoveExplicit
Compute optimal control using explicit MPC
Syntax
Description
Use this command to simulate an explicit MPC controller in closed-loop with a
plant model. Call mpcmoveExplicit
repeatedly in a for loop to calculate
the manipulated variable and update the controller states at each time step.
returns the optimal move mv
= mpcmoveExplicit(empcobj
,x
,ym
,r
)mv
and updates the states
xc of the controller empcobj
.
The manipulated variable mv
at the current time is calculated given:
the controller object,
empcobj
,a pointer to the current estimated extended state,
xc
,the measured plant outputs,
ym
,the output references,
r
,and the measured disturbance input,
v
.
If ym
, r
or v
is
specified as []
, or if it is missing as a last input argument,
mpcmove
uses the appropriate mpcobj.Model.Nominal
value instead.
When using default state estimation, mpcmoveExplicit
also updates
the controller state referenced by the handle object xc
. Therefore,
when using default state estimation, xc
always points to the updated
controller state. When using custom state estimation, you should update
xc
prior to each mpcmoveExplicit
call.
Examples
Input Arguments
Output Arguments
Tips
Use the Explicit MPC Controller Simulink block for simulation and code generation.
Version History
Introduced in R2014b
See Also
Functions
generateExplicitMPC
|generateExplicitRange
|generateExplicitOptions
|simplify
|generatePlotParameters
|plotSection
|sim
Objects
mpc
|explicitMPC
|mpcstate