合并MISO ARX模型

5次浏览(最近30天)
Giulio Cesare Mastrocinque Santo
回答: 拉吉夫·辛格 2020年6月9日
大家好,最近怎么样?
我试图mergem多个MISO ARX模型使用 合并(m1、…、锰) 函数,但我收到以下错误:
错误使用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], 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 = strc (1:30,1:30,1:30);
N1 = selstruc (arxstruc (Ze1 (:,: 1), Zv (:,: 1), NN));
arx1 = arx (Ze1,“na”, N1 (1),“注”, [n1 (2) 0 0],“朝鲜”, [n1 (3) 1 1]);
N2 = selstruc (arxstruc (Ze2 (:,: 2), Zv (:,: 2), NN));
arx2 = arx (Ze2,“na”N2 (1),“注”, [0 n2 (2) 0],“朝鲜”, [1 n2 (3) 1];
N3 = selstruc (arxstruc (Ze3 (:,:, 3), Zv (:,:, 3), NN));
arx3 = arx (Ze3,“na”N3 (1),“注”, [0 0 n3 (2)],“朝鲜”, [1 1 n3 (3)]);
如果我在下面进行合并,
ARX = merge(arx1, arx2, arx3)
就会得到误差 被合并的模型必须具有相同的类型、投入产出规模和结构。
但是,如果我联接数据集,则不会返回错误。
Ze1, Ze2, Ze3
谁能帮我弄清楚是什么问题?我真正想要的是合并后的ARX模型!
谢谢!

接受的答案

拉吉夫·辛格
拉吉夫·辛格 2020年6月9日
您需要的是水平连接,而不是MERGE,它是关于相同(相同的I/ o和模型结构)模型的统计合并。
ARX = [arx1, arx2, arx3]

更多的答案(0)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!