function DisturbanceMatrix input Real[:, :] Ad; input Real A[:, :] "discrete time control system matrix A, inaugmented"; input Real C[:, :] "discrete time control system matrix C, inaugmented"; input Integer Nl "lower prediction horizon"; input Integer Np "upper prediction horizon"; input Integer p "number of control systems outputs"; input Integer q "number of measurable disturbance variables"; output Real[p*(Np - Nl + 1), q*(Np - Nl + 1)] E; end DisturbanceMatrix;