Can a GUI timer be made to regularly update during long calculations?

I have a GUI that runs a program that takes anywhere between a few minutes and a few hours to run and I would like to add a timer to the GUI so I can see how long the program has been running since it started. The program spends the majority of its time in the Symbolic Math Toolbox (~90%), and there are no significant portions of time spent in a loop during execution.
In order to accomplish this (in a way that updates regularly without slowing the original program down), I believe the Parallel Computing Toolbox would have to be utilized, but I don't have any experience with this.
Is there anyone here that might know how this could be accomplished, or if it's even possible?

 Risposta accettata

Hi Tim,
You could use a timer on the main thread and then use batch() (from PCT) to run the feval() command on a worker(s) that was opened with matlabpool()

Più risposte (1)

The timer object in MATLAB (>> help timer) is probably your best bet. Just initialize it when the GUI launches or the program starts and then have it callback to display the runtime.

1 Commento

Thanks for your reply!
I don't think the timer function can run in parallel with another function apart from the Parallel Computing Toolbox. This is basically what needs to happen since probably 90% of the calculation time is spent in the following commands:
feval(symengine,'reset');
feval(symengine,'read','"MyProgram.mu"');
Where "MyProgram.mu" is the name of a user-defined MuPAD procedure file being evaluated by Matlab's Symbolic Math Toolbox.
Therefore, I believe that I need to be running the timer function in parallel with the main calculation, but I do not have enough experience with the Parallel Computing Toolbox to be able to figure this out. I was hoping that someone on here might be able to help me.

Accedi per commentare.

Categorie

Scopri di più su Programming in Centro assistenza e File Exchange

Prodotti

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by