How to invert an output error model?
1 回表示 (過去 30 日間)
古いコメントを表示
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
2022 年 9 月 11 日
So, you want to invert a "static" model,
to become so that you can determine x from the data y?
採用された回答
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 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!