Impact of the merge() Function in System Identification
1 次查看(过去 30 天)
显示 更早的评论
Hello,
I am currently exploring the merge() function in MATLAB for system identification purposes and have a specific question regarding its operational characteristics. Does the merge() function average the data from multiple experiments? If so, could this averaging process potentially attenuate higher frequency components in the data, thereby affecting the accuracy of system identification?
Thank you for your insights.
0 个评论
采纳的回答
Tianyu
2024-5-15
Hi MvR,
merge() funciton does not process data, it is used to save data into seperate experiments.
It only has effects when estimating the model.
Consider the following example on arx model:
% load data
load iddata1 z1
load iddata2 z2
% estimate seperately
sys1 = arx(z1,[1 1 1])
sys2 = arx(z2,[1 1 1])
% merge data set and estimate
z3 = merge(z1,z2)
sys3 = arx(z3, [1 1 1])
% concatenate data set
u = [z1.InputData; z2.InputData];
y = [z1.OutputData; z2.OutputData];
z4 = iddata(y,u,Ts=0.1);
sys4 = arx(z4, [1 1 1])
You can observe that sys3 and sys4 differs a little bit.
The logic behind is that, when using z3, the parameter is identified using exp1 first, then updated using exp2. However, for z4, the parameter is identified using the whole data set.
One typical use of merge() is to eliminate the bad data sequence, see examples in
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Residual Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!