Effacer les filtres
Effacer les filtres

Impact of the merge() Function in System Identification

3 vues (au cours des 30 derniers jours)
MvR
MvR le 13 Mai 2024
Commenté : MvR le 16 Mai 2024
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.

Réponse acceptée

Tianyu
Tianyu le 15 Mai 2024
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

Plus de réponses (0)

Catégories

En savoir plus sur Linear Model Identification dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by