How to invert an output error model?

1 visualizzazione (ultimi 30 giorni)
Benjamin Pommer
Benjamin Pommer il 10 Set 2022
Risposto: Rishav il 12 Set 2023
Hi matlab community
I am looking for a way to invert an output error model so that the original output data becomes the input data to predict the original input data.
Best regards
Benjamin
  2 Commenti
Sam Chak
Sam Chak il 11 Set 2022
So, you want to invert a "static" model,
to become so that you can determine x from the data y?
Benjamin Pommer
Benjamin Pommer il 12 Set 2022
yes, kind of. It would be a idpoly function which contains a parameter to describe the noise in the system. But, I guess its not working since the degree of the denominator (=2) is greater than the one of the numerator (=1) with a dead time of 0.
The function finverse didnt work. Do you have another idea maybe?

Accedi per commentare.

Risposta accettata

Rishav
Rishav il 12 Set 2023
Hi Benjamin,
I understand that you are trying to invert an output error model with an idpoly function, where you can use the output data to predict the original input data.
  • Assuming you have the original output error (OE) model:
original_model = idpoly(...); % Define your original output error model
  • Generate simulated data: You need to get simulated output data from the original OE model.
% Simulate output data from the original model
simulated_output_data = sim(original_model, input_data); % Replace input_data with your input data
% Create an iddata object with only output data
Ts = 0.1; % Associated sample time
original_data = iddata(simulated_output_data, [], Ts);
  • Invert the model: You can use the original data and the original OE model to estimate an inverted model using the 'oe' function.
inverted_model = oe(original_data, original_model);
  • Now since, inverted_model is your inverted model, and you can use it to predict the original input data from the original output data as follows:
predicted_input = predict(inverted_model, original_data.OutputData);
Moreover, you can also refer to the below mentioned documentation links to know more about 'idpoly', 'iddata' and 'oe' functions:
Thank you,
Rishav Saha

Più risposte (0)

Categorie

Scopri di più su Modeling in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by