How to invert an output error model?
2 views (last 30 days)
Show older comments
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 Comments
Sam Chak
on 11 Sep 2022
So, you want to invert a "static" model,
to become so that you can determine x from the data y?
Accepted Answer
Rishav
on 12 Sep 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
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!