Matrix-Valued Gain Schedules
You can also implement matrix-valued gain schedules Simulink. A matrix-valued gain
schedule takes one or more scheduling variables and returns a matrix rather than a scalar
value. For instance, suppose that you want to implement a time-varying LQG controller of
the form:
dxe=Axe+Bu+Ly−Cxe−Du
u=−Kxe,
where, in general, the state-space matrices A, B, C, and D, the state-feedback matrix K,
and the observer-gain matrix L all vary with time. In this case, time is the scheduling
variable, and the gain schedule determines the values of the matrices at a given time.
In your Simulink model, you can implement matrix-valued gain schedules using:
- MATLAB Function block — Specify a MATLAB function that takes scheduling variables
and returns matrix values. - Matrix Interpolation block — Specify a lookup table to associate a matrix value with
each scheduling-variable breakpoint. Between breakpoints, the block interpolates the
matrix elements. (This block is in the Simulink Extras library.)
For the LQG controller, use either MATLAB Function blocks or Matrix Interpolation blocks
to implement the time-varying matrices as inputs to a Varying Observer Form block. For
example:
11 Gain-Scheduled Controllers