合并MISO ARX模型

5次观看(过去30天)
Giulio Cesare Mastrocinque Santo
Giulio Cesare Mastrocinque Santo 于2020年5月31日
回答: rajiv singh. 于2020年6月9日
你好,你好吗?
我正在尝试使用多个MISO ARX模型使用 合并(m1,..,mn) 功能,但我收到以下错误:
使用IDParameTric /合并时出错
被合并的模型必须具有相同类型,输入输出大小和结构。
我能够合并Iddata,但不是模特!在这里我想要做的事情:
估算数据:
ZE1 = IDDATA(YE1,[UE1,UE2,UE3],1);
ZE2 = IDDATA(YE2,[UE1,UE2,UE3],1);
ZE3 = IDDATA(YE3,[UE1,UE2,UE3],1);
验证数据:
ZV = IDDATA(YV1,[UV1,UV2,UV3],1);
该想法是使用每个估计数据来模拟每个单独的输入输出,然后加入结果模型,如下表:
YE1(Z)= G11(Z)U1(Z)
YE2(Z)= G21(Z)U2(Z)
YE3(Z)= G31(Z)U3(Z)
Y(Z)= YE1(Z)+ YE2(Z)+ YE3(Z)=>
Y(Z)= G11(Z)U1(Z)+ G21(Z)U2(Z)+ G31(Z)U3(Z)
为此,我做了以下代码:
nn = struc(1:30,1:30,1:30);
n1 = selstruc(arxstruc(ze1(:,:,1),zv(:,:,1),nn));
ARX1 = ARX(ZE1,“na”,n1(1),“NB”,[n1(2)0 0],“nk”,[n1(3)1 1]);
n2 = selstruc(arxstruc(ze2(ze2),zv(:,:,2),nn)));
ARX2 = ARX(ZE2,“na”,n2(1),“NB”,[0 n2(2)0],“nk”,[1 n2(3)1]);
N3 = Selstruc(ARXSTRUC(ZE3(ZE3),ZV(:,:,3),NN)));
ARX3 = ARX(ZE3,“na”,n3(1),“NB”,[0 0 n3(2)],“nk”,[1 n3(3)]);
如果我然后在下面发合并,
ARX =合并(ARX1,ARX2,ARX3)
我收到错误 “被合并的模型必须具有相同类型,输入 - 输出大小和结构。”
但是,如果我加入数据集,则不会返回任何错误。
ZE =合并(ZE1,ZE2,ZE3)
有人可以帮助我弄清楚问题是什么?我真正想要的是合并合适的ARX模型!
非常感谢!

接受答案

rajiv singh.
rajiv singh. 于2020年6月9日
您需要的是水平连接,而不是合并,这是关于相同(相同的I / O和模型结构)模型的统计合并。
ARX = [ARX1,ARX2,ARX3]

更多答案(0)

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!