为什么我得到了一个“马歇尔。coerceToClass”的错误当模拟模型包含自适应MPC块吗?

7视图(30天)
我用自适应MPC块模型和我遇到以下错误:
大小不匹配的MATLAB表达“marshall.coerceToClass”。预计实际= 3 x3 = 4 x4
在我的模型,我发送一个状态空间模型作为“模型”的输入端口的自适应MPC块,和这个模型源于在一块调用MATLAB函数时间预测模型。这是非常相似的一个例子——MPC工具箱提供的文档 //www.tianjin-qmedu.com/help/releases/R2018b/mpc/ug/time-varying-mpc-control-of-a-time-varying-linear-system.html
我起初怀疑错误是来自在ML功能块。当我减少了传递函数的极点和零点(这是前一步是离散和转换为状态空间),我发现该模型运行没有错误。因此,我有以下几个问题:
——我怎么增加他们的顺序没有遇到上述误差传递函数?
——我感兴趣的主要实施一些版本的自适应控制系统是时变的。我现在使用一种修改版的“时变植物”链接上面的例子。有没有其他的例子或功能我可以使用,从MPC工具箱,或更大的控制工具箱,适合时变工厂吗?

接受的答案

MathWorks支万博1manbetx持团队
  1. 在自适应MPC块,植物模型被“mpcobj”,指定有3个国家,1的输入和输出。因此,提供的模型自适应MPC块也应该有三个州,1的输入和输出。时的顺序传递函数中增加“时变预测模型”,之后的状态数转换成状态空间变成4,则抛出一个错误,因为mpcobj预计订单3。有一些方法来更新工厂在仿真模型和预测模型。更详细地解释这个,我包括下面几个文档链接:
//www.tianjin-qmedu.com/help/ < //www.tianjin-qmedu.com/help/releases/R2018b/mpc/ref/mpc.mpcmoveadaptive.html buik3vp-1-Plant发布/ R2018b mpc / ref / mpc.mpcmoveadaptive.html # buik3vp-1-Plant >
//www.tianjin-qmedu.com/help/ < //www.tianjin-qmedu.com/help/mpc/examples.html?类别= adaptive-mpc-design&s_tid = CRUX_gn_example发布/ R2018b / > < //www.tianjin-qmedu.com/help/mpc/ref/adaptivempccontroller.html bugls7u-7 mpc / ref / adaptivempccontroller.html # bugls7u-7 >
为了避免错误,请确保植物模型mpcobj港口适应MPC控制器和模型总是相互一致。#关于资源实现自适应控制,请找到下面的一些例子在适应性政策委员会设计:
LPV(线性参数不同)在控制系统工具箱也可能有帮助。请参阅下面的链接:
//www.tianjin-qmedu.com/help/ < //www.tianjin-qmedu.com/help/mpc/examples.html?类别= adaptive-mpc-design&s_tid = CRUX_gn_example发布/ R2018b / > < //www.tianjin-qmedu.com/help/mpc/ug/adaptive-mpc-control-of-nonlinear-chemical-reactor-using-linear-parameter-varying-system.html mpc / ug / adaptive-mpc-control-of-nonlinear-chemical-reactor-using-linear-parameter-varying-system.html >

更多的答案(0)

社区寻宝

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

开始狩猎!