Impact of the merge() Function in System Identification
조회 수: 3 (최근 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에서 Linear Model Identification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!