How to specify constant vs unique parameters in System ID with multiple experiments?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
For multiple experiments, I'd like to fit a simple process model where 2 poles (tp1, tp2) are the same for all experiments, but gain (Kp), zero (tz) and time delay (td) can be different for each experiment. Is there an elegant way to to this with the System Identification Toolbox? Each experiment comprises 2 time series: one forcing input & one response ouput.
0 Kommentare
Akzeptierte Antwort
Jack
am 8 Mär. 2025
One common approach is to break the estimation into two steps. First, you can pool the data from all experiments to estimate the common dynamics (the two poles, tp1 and tp2). Then, with these poles fixed, you estimate the experiment‐specific parameters (gain Kp, zero tz, and delay td) individually for each experiment.
Alternatively, if you want to do it in one step you can build a custom grey‐box model (using idgrey or idnlgrey) where your parameter vector includes both the common parameters and the experiment‐specific ones. You then set up linear equality constraints (via the model’s ParameterConstraints property) so that the values for tp1 and tp2 are identical across experiments. Unfortunately, the System Identification Toolbox does not offer a direct “elegant” switch for shared versus unique parameters, so you must implement these constraints manually.
For example, you might organize your combined parameter vector as
% For N experiments, define a parameter vector:
% p = [tp1, tp2, Kp1, tz1, td1, Kp2, tz2, td2, ..., KpN, tzN, tdN]
% Then, in your custom model function, enforce that the first two parameters
% (tp1 and tp2) are used for every experiment.
This approach lets you use the multi‐experiment estimation capabilities of the toolbox while ensuring that the poles remain common and the remaining parameters vary per experiment.
Follow me so you can message me anytime with future MATLAB questions. If this helps, please accept the answer as well.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Linear Model Identification finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!