Running Script using Timer
Show older comments
I am trying to use Timer function to run a script at pre-specified interval (30 seconds). However, most of the examples, including MATLAB help, is directed towards using callback functions. However, when I tried something similar to use the script to run using timer, I get an error message.
Specifically, I am using Bloomberg's data function to get real time data and would like to simply revoke that Bloomberg function every 30 seconds.
Any help would be sincerely appreciated. Please feel free to ask question, if I am not being clear.
Thank you,
Answers (2)
per isakson
on 5 Dec 2013
Edited: per isakson
on 6 Dec 2013
The trick is to use an anonymous function. Try
>> my_timer_test
2013-12-05 22:09:31
2013-12-05 22:09:43
2013-12-05 22:09:55
2013-12-05 22:10:07
where
%%my_timer_test
tmr = timer ...
( 'Name' , 'my_timer' ...
, 'TimerFcn' , @(x,y) my_script ...
, 'BusyMode' , 'drop' ...
, 'ExecutionMode' , 'fixedDelay' ...
, 'Period' , 12 ...
, 'StartDelay' , 1 ...
);
start( tmr )
and
%%my_script
disp( datestr( now, 31 ) )
are two script files
8 Comments
KKR
on 6 Dec 2013
Edited: per isakson
on 30 Sep 2016
per isakson
on 6 Dec 2013
Try to use the {}Code button. It makes it easier to read the code.
per isakson
on 6 Dec 2013
Edited: per isakson
on 6 Dec 2013
It is obviously not a good idea to use a script in the value of the property, TimerFcn. See Variables in Nested and Anonymous Functions and note especially: "Calling a MATLAB script that creates a variable". The property name contains the letters Fcn for a reason.
Thus, convert your script to a function.
Alfonso Nieto-Castanon
on 7 Dec 2013
I imagine you probably want to run your script on the base workspace (as if you run it on the Matlab command window), right?.
If that is the case, in the example above simply change the portion that reads:
@(x,y)my_script
into:
@(varargin)evalin('base','my_script');
Hope this helps
KKR
on 19 Dec 2013
per isakson
on 19 Dec 2013
Matlab is not always helpful! I guess the Blomberg page contained something else than digits in a field where "your" script expected digits.
See:
KKR
on 19 Dec 2013
per isakson
on 19 Dec 2013
What does "it" refer to? Isn't it a case for ordinary debugging? http://undocumentedmatlab.com/ may have something useful to say on debugging Java code.
KKR
on 7 Dec 2013
1 vote
Categories
Find more on Platform and License 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!