필터 지우기
필터 지우기

Impact of the merge() Function in System Identification

조회 수: 3 (최근 30일)
MvR
MvR 2024년 5월 13일
댓글: MvR 2024년 5월 16일
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.

채택된 답변

Tianyu
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 CenterFile Exchange에서 Linear Model Identification에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by