如何包含一个模型(由我在仿真软件)的Matlab脚本?万博1manbetx

52视图(30天)
所以我与植物模型预测控制器模型,使用博客,和我建立了植物模型我不能使用状态空间表示,因为我有一个扰动作用于系统,包括它的唯一方法是通过模型块,
总之现在我写代码自定义状态估计在脚本,我需要提到植物模型使用在这个脚本中,但当我写植物模型的名称或名称的植物模型与MPC,显示为一个错误
“错误使用mpc,货币政策委员会命令的第一个输入参数必须是一个线性时不变对象或一个结构模型和补偿”
我的问题是如何包含模型(我已经创建了使用块)到我的脚本?
%定义状态估计
t = 0.1;
mpcobj = mpc (“plantmodel”ts)
setEstimator (mpcobj“自定义”);
xmpc = mpcstate (mpcobj);
一个= [1 0;0 1];
B = 0.0752 (0.0936 - 0.0936 0, 0 0];
C = [1 0; 0 1];
数控= 2;
SOCpbref = 75;% (en的百分比)
SOCliref = 85;% (en的百分比)
t = 25;%在秒
Cmaxpb = 22020;% (Ampersecond)
Cmaxli = 6000;% (Ampersecond)
调查= [60 60 65 70 75 65 55 55 50 50 50 60 60 60 65 70 75 75 75 75 70 55 65 60 50);%在安培
伊犁= [70 60 60 60 65 75 80 85 75 70 65 70 75 80 85 85 85 85 80 70 70 65 75 70 60];%在安培
Cpb =(调查)/ t总和;
Cli =(伊犁)/ t总和;
SOCpb = (Cpb / Cmaxpb);
SOCli = (Cli / Cmaxli);
t = 0:数控
y = sys.C * xsys;%植物方程:输出
YY (t + 1) = y;
xmpc。工厂= [SOCpb, SOCli];%状态估计
u = mpcmove (mpcobj xmpc, [], [SOCpbref SOCliref]);不需要% y
UU (t + 1) = u;
xsys =系统。* xsys + sys.B * u;%植物方程:下一个状态
结束
命令窗口:
错误使用货币政策委员会
“mpc”命令的第一个输入参数必须是一个线性时不变对象或一个结构模型和补偿。
错误在customstateestimation(3号线)
mpcobj = mpc(“模型”,ts)

接受的答案

保罗
保罗 2023年5月20日19:07
嗨jana,
你能澄清这句话:“我不能使用状态空间表示,因为我有一个扰动作用于系统,”
状态空间 党卫军 对象可以包含所有输入到系统,即。、控制、扰动、噪声等。
10评论
保罗
保罗 2023年5月21日17:46
编辑:保罗 2023年5月22日在42
嗯,照片显示没有定义的输出系统,所以我不能说。
我建议阅读的文档和示例MPC工具箱并尝试应用材料感兴趣的问题。

登录置评。

答案(1)

Emmanouil Tzorakoleftherakis
Emmanouil Tzorakoleftherakis 2023年5月23日14:27
你好,
目前不能使用仿真软件为MPC设计模型作为预测模型。万博1manbetx这是我们正在努力在未来的发布中。因为它似乎你正在设计一个线性MPC控制器,你可以线性化模型模型所需的操作点线性表示,或者你可以使用系统辨识与数据驱动模型。如果你很好万博1manbetx下面是几个例子:
希望这有助于

类别

找到更多的在线性植物规范帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!