How to specify constant vs unique parameters in System ID with multiple experiments?

4 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Jack
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.
  1 Kommentar
Brett
Brett am 10 Mär. 2025
Thanks Jack. I had a feeling that this was the case but hoped there was an 'experiment specific' / 'always constant' switch for identified parameters buried somewhere in the sysID toolbox. I like your suggestion about using a parametrized grey-box model and will give that a try.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Linear Model Identification finden Sie in Help Center und File Exchange

Produkte


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by