Combine ARX models - System Identification Toolbox
5 次查看(过去 30 天)
显示 更早的评论
Hello, how are you doing?
I have the following problem: I am using MATLAB's System Identification Toolbox to model a MISO (Multiple-Input Single-Output) system based on different intervals. let us assume that we have three intervals of data: I1, I2 and I3, and that our system is a 3x1 system. With each interval, I will be obtaining a model for the single output using one of the 3 inputs, as bellow:
Y_1 = G11(z)U1(z)
Y_2 = G21(z)U2(z)
Y_3 = G31(z)U3(z)
What I want to do next is to add these models to obtain a single MISO model:
Y(z) = Y_1(z)+Y_2(z)+Y_3(z) =
Y(z) = G11(z)U1(z) + G21(z)U2(z) + G31(z)U3(z)
I am using a ARX structures to do that, with a validation set Zv:
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(:,:,2),Zv(:,:,2),NN));
arx2 = arx(Ze2, "na", N2(1), "nb", [0 N2(2) 0], "nk", [1 N2(3) 1]);
N3 = selstruc(arxstruc(Ze3(:,:,3),Zv(:,:,3),NN));
arx3 = arx(Ze3, "na", N3(1), "nb", [0 0 N3(2)], "nk", [1 1 N3(3)]);
The problem:
If I make ARX = arx1+arx2+arx, I end up with a state-space system that loses the noise properties of the ARX system. Therefore, if I make
compare(Zv,ARX2,inf) -> infinity steps-ahead
or
compare(Zv,ARX2,1) -> 1 step-ahead
the result is the same, beacause "compare ignores kstep when sys is an iddata object, an FRD model, or a dynamic system with no noise component".
What I wanna know:
1) When using compare, in this case, how many steps it is actually using?
2) How can I add the 3 ARX systems and make both the 1 step-ahead and the infinity step-ahead validations?
I really appreciate any help!
Best regards,
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Nonlinear ARX Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!