Borrar filtros
Borrar filtros

Impact of the merge() Function in System Identification

3 visualizaciones (últimos 30 días)
MvR
MvR el 13 de Mayo de 2024
Comentada: MvR el 16 de Mayo de 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.

Respuesta aceptada

Tianyu
Tianyu el 15 de Mayo de 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

Más respuestas (0)

Categorías

Más información sobre Linear Model Identification en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by