How to save Timer execution time

9 visualizzazioni (ultimi 30 giorni)
Jun Hao
Jun Hao il 22 Set 2014
Commentato: Adam il 22 Set 2014
I create a Timer function, and I set the TImer to be executed 10 times. When the Timer running, how can I save the 10 execution time to workspace?
function t = Showmylove2MatlabTimer(~,thisEvent)
seconds2Show = 0.01;
totalTimes = 10;
t = timer;
t.UserData = seconds2Show;
t.StartFcn = @bbb;
t.TimerFcn = @(g,~)mylove2Matlab;
t.StopFcn = @blablabla;
t.Period = 0.002;
t.StartDelay = 6;
t.TasksToExecute = totalTimes;
t.ExecutionMode = 'fixedSpacing';
end
function ExTime = mylove2Matlab(~,thisEvent)
n = 1000;
a = unidrnd(n);
b = unidrnd(n);
s = a + b;
ExTime = thisEvent.Data.time;
disp(['I really love Matlab for ' num2str(s) ' years']);
disp(['Time is ' datestr(thisEvent.Data.time, 'dd-mmm-yyyy HH:MM:SS.FFF')]);
end
In this example, I want to save ExTime to workspace every time the function ExTime = mylove2Matlab to be executed. Thank you for your time and answer.

Risposte (1)

Adam
Adam il 22 Set 2014
Can you not just use t.StopFcn to add the elapsed time to an array of timer values if you pass this array into the StopFcn?
  2 Commenti
Jun Hao
Jun Hao il 22 Set 2014
you mean if I do not use StopFcn I can get the 10 StartFcn execution time ?
Adam
Adam il 22 Set 2014
No, I mean that StopFcn exceutes every time the timer stops so within your StopFcn you can get hold of this time every time and add it to an ever-expanding or presized (to size 10) array of times.

Accedi per commentare.

Categorie

Scopri di più su App Building in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by