MATLAB Answers

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

조회 수: 1(최근 30일)
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?

  댓글 수: 0

댓글을 달려면 로그인하십시오.

채택된 답변

Sean de Wolski
Sean de Wolski 4 Jan 2013
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()

  댓글 수: 1

Tim Lewis
Tim Lewis 12 Feb 2013
That may work. I will have to give it a try. Thanks for your help!

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Loren Dean
Loren Dean 4 Jan 2013
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

Tim Lewis
Tim Lewis 4 Jan 2013
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.

댓글을 달려면 로그인하십시오.

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by