本文章全部内容均出自matlab help center 多输入单输出被控对象的模型预测控制 - MATLAB和Simulink - MathWorks 中国
本人为了后期自己方便看的懂翻译并进行解释
此示例说明如何为具有一个测量输出 (MO) 和三个输入的被控对象设计、分析和仿真具有硬约束和软约束的模型预测控制器。输入由一个操纵变量 (MV)、一个测量的干扰 (MD) 和一个未测量的干扰 (UD) 组成。
定义被控对象模型
plantTF = tf({1,1,1},{[1 .5 1],[1 1],[.7 .5 1]})
在此示例中,在将 Plant 传递给 MPC 控制器创建函数之前,将 Plant 显式转换为离散时间状态空间形式。
控制器创建功能可以接受连续时间或离散时间被控对象。在初始化过程中,使用零阶保持 (ZOH) 方法自动将连续时间被控对象(任何格式)转换为离散时间状态空间模型。如果存在延迟,则包含在状态空间模型中。
plantCSS = ss(plantTF); % 传递函数转化为状态空间方程
Ts = 0.2; % 指定0.2秒的采样时间
plantDSS = c2d(plantCSS,Ts) % 使用ZOH转换为离散时间状态空间
默认情况下,软件假定所有被控对象输入信号都是纵的变量。要指定信号类型,例如测量和未测量的干扰,请使用该函数。在此示例中,第一个输入信号是纵的变量,第二个是测量的干扰,第三个是未测量的干扰。此信息存储在被控对象模型中,稍后由 MPC 控制器使用。
设计 MPC 控制器
创建控制器对象,指定采样时间Ts以及预测10和控制3范围
mpcobj = mpc(plantDSS,Ts,10,3);
定义对操作变量的硬约束。