Azzera filtri
Azzera filtri

How to update MIMO Transfer Function from "tfest" with new data

7 visualizzazioni (ultimi 30 giorni)
How do I update my MIMO transfer function with new data? I have an existing transfer function created with "tfest" and I don't want to create a new transfer function by concatenating the data.

Risposta accettata

MathWorks Support Team
MathWorks Support Team il 29 Lug 2024
Modificato: MathWorks Support Team il 29 Ago 2024
MathWorks defines MIMO transfer functions as either a concatenation of SISO transfer functions, or a cell array of SISO transfer functions, as mentioned in the documentation.
Please run the below command in the command window of installed MATLAB R2019a version to get release specific documentation
>> web(fullfile(docroot, 'control/ug/mimo-transfer-function-models.html'))
Assuming you have the input and output for each pair of input and output ports for this system, you can create new transfer functions with "tfest" using the old transfer function as an initialization point. The "init_sys" input parameter for the "tfest" function will accept idtf models, such as existing transfer functions.
Please run the below command in the command window of installed MATLAB R2019a version to get release specific documentation about "tfest":
>> web(fullfile(docroot, 'ident/ref/tfest.html'))
You can create a loop to update each SISO transfer function individually using this method to update your previously trained "tfest" model with new training data for offline estimation.
Please follow the below link to search for the required information regarding the current release:

Più risposte (1)

Rajiv Singh
Rajiv Singh il 29 Lug 2019
Well, MIMO transfer function can't be split into a collection of SISO models for identification using input/output signals. You can perform one-output-at-a-time identification and concatenate results later, but inputs can't be split (unless you have a diagonal system where input-output relationships are decoupled).
That said, tfest can indeed work with MIMO transfer functions directly, no need to split anything. As said before, the syntax is new_model = tfest(data, old_model). This will update the free coefficients of old_model and return the result in new_model.

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by