MATLAB: How to communicate the progress of a long simulation

completeMATLABprogresssimulink

I have a simulation that might take hours or days to complete. How can I update the user of the progress of this simulation without degrading simulation performance?

Best Answer

This can be done using the following function set in the InitFcn Callback:
end_time=str2double(get_param(gcs,'stoptime'));
Then an approprately sampled clock source block can be connected to a gain block that references the END_TIME variable that is initialized by the InitFcn callback. This will compute the percent complete value that can be displayed in the MATLAB command window using an s-function of an embedded MATLAB function. A display block would also be useful for this purpose.
For an example see the attached model.