How to invert an output error model?

5 ビュー (過去 30 日間)
Benjamin Pommer
Benjamin Pommer 2022 年 9 月 10 日
回答済み: Rishav 2023 年 9 月 12 日
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 件のコメント
Sam Chak
Sam Chak 2022 年 9 月 11 日
So, you want to invert a "static" model,
to become so that you can determine x from the data y?
Benjamin Pommer
Benjamin Pommer 2022 年 9 月 12 日
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?

サインインしてコメントする。

採用された回答

Rishav
Rishav 2023 年 9 月 12 日
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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeModeling についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by