@@ -334,11 +334,17 @@ Construct the prediction matrices for [`LinModel`](@ref) and [`MultipleShooting`
334334
335335They are defined in the Extended Help section.
336336
337- # TODO: fill the next section
338-
339337# Extended Help
340338!!! details "Extended Help"
341- The matrices are computed by:
339+ They are all appropriately sized zero matrices ``\m athbf{0}``, except for:
340+ ```math
341+ \b egin{aligned}
342+ \m athbf{E} &= [\b egin{smallmatrix}\m athbf{0} & \m athbf{E^†} \e nd{smallmatrix}] \\
343+ \m athbf{E^†} &= \t ext{diag}\m athbf{(Ĉ,Ĉ,...,Ĉ)} \\
344+ \m athbf{J} &= \t ext{diag}\m athbf{(D̂_d,D̂_d,...,D̂_d)} \\
345+ \m athbf{ex̂} &= [\b egin{smallmatrix}\m athbf{0} & \m athbf{I}\e nd{smallmatrix}]
346+ \e nd{aligned}
347+ ```
342348"""
343349function init_predmat (
344350 model:: LinModel , estim:: StateEstimator{NT} , transcription:: MultipleShooting , Hp, Hc
@@ -432,10 +438,10 @@ matrices ``\mathbf{E_ŝ, G_ŝ, J_ŝ, K_ŝ, V_ŝ, B_ŝ}`` are defined in th
432438 ```math
433439 \b egin{aligned}
434440 \m athbf{E_ŝ} &= \b egin{bmatrix}
435- \m athbf{B̂_u} & \m athbf{0} & \c dots & \m athbf{0} & -\m athbf{I} & \m athbf{0} & \c dots & \m athbf{0} \\
436- \m athbf{B̂_u} & \m athbf{B̂_u} & \c dots & \m athbf{0} & \m athbf{Â} & -\m athbf{I} & \c dots & \m athbf{0} \\
437- \v dots & \v dots & \d dots & \v dots & \v dots & \v dots & \d dots & \v dots \\
438- \m athbf{B̂_u} & \m athbf{B̂_u} & \c dots & \m athbf{B̂_u} & \m athbf{0} & \m athbf{0} & \c dots & -\m athbf{I} \e nd{bmatrix} \\
441+ \m athbf{B̂_u} & \m athbf{0} & \c dots & \m athbf{0} & -\m athbf{I} & \m athbf{0} & \c dots & \m athbf{0} & \m athbf{0} \\
442+ \m athbf{B̂_u} & \m athbf{B̂_u} & \c dots & \m athbf{0} & \m athbf{Â} & -\m athbf{I} & \c dots & \m athbf{0} & \m athbf{0} \\
443+ \v dots & \v dots & \d dots & \v dots & \v dots & \v dots & \d dots & \v dots & \v dots \\
444+ \m athbf{B̂_u} & \m athbf{B̂_u} & \c dots & \m athbf{B̂_u} & \m athbf{0} & \m athbf{0} & \c dots & \m athbf{Â} & -\m athbf{I} \e nd{bmatrix} \\
439445 \m athbf{G_ŝ} &= \b egin{bmatrix}
440446 \m athbf{B̂_d} \\ \m athbf{0} \\ \v dots \\ \m athbf{0} \e nd{bmatrix} \\
441447 \m athbf{J_ŝ} &= \b egin{bmatrix}
@@ -582,7 +588,8 @@ It warm-starts the solver at:
582588\e nd{bmatrix}
583589```
584590where ``\m athbf{x̂_0}(k+j|k-1)`` is the predicted state for time ``k+j`` computed at the
585- last control period ``k-1``, expressed as a deviation from the operating point ``x̂_{op}``.
591+ last control period ``k-1``, expressed as a deviation from the operating point
592+ ``\m athbf{x̂_{op}}``.
586593"""
587594function set_warmstart! (mpc:: PredictiveController , transcription:: MultipleShooting , Z̃var)
588595 nu, nx̂, Hp, Hc, Z̃0 = mpc. estim. model. nu, mpc. estim. nx̂, mpc. Hp, mpc. Hc, mpc. buffer. Z̃
0 commit comments