- MATLAB script, MAT file, Simulink Model to reproduce the issue at my end.
Import Timeseries on Simulink as raw structure and not as single data samples at certain simulation time
11 views (last 30 days)
Show older comments
Gianluca Mammone on 18 Dec 2022
Answered: Emmanouil Tzorakoleftherakis on 25 Jan 2023
Hello, I am working on a Model Predictive Control on Simulink requiring a reference signal that is something like
where P is the prediction horizon ( the reference changes during the prediction horizon).
Without getting into too many unnecessary details, I created a timetable of reference values, and since the system is MIMO and Simulink accepts only timetables with one variable, i converted it to a timeseries to have a single structure with all the output references. I know it seems not smart, but I found working with timetables be easier for me and my kind of problem, thus I have a timeseries tms with
On Simulink, I wanted to connect after a From Workspace Block a Matlab Function Block (MFB) that simply does dinamically with t the current simulation time, thus giving to the MPC Block the correct changing reference.The command that does this in the MFB is getsampleusingtime(y_ref, t, t+(P-1)*time_sample_of_tms);
The problem is: Simulink gives to the MFB only the row of tms that is referred to the current time and not the whole timeseries every instant of the simulation, so i cannot apply my approach. I also tried the Constant Block, but returns errors.
Do you have any solution or wiser approach to solve this situation,
Thank you in advance,
Suvansh Arora on 22 Dec 2022
In order to understand this better, can you provide the following information:
Emmanouil Tzorakoleftherakis on 25 Jan 2023
It seems to me that you want to implement the MPC preview capability in Simulink. This example actually has a custom previewer block that implements exactly what you need.
Hope that helps
Find more on Linear Plant Specification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!