Running Script using Timer
Ältere Kommentare anzeigen
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,
Antworten (2)
per isakson
am 5 Dez. 2013
Bearbeitet: per isakson
am 6 Dez. 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 Kommentare
KKR
am 6 Dez. 2013
Bearbeitet: per isakson
am 30 Sep. 2016
per isakson
am 6 Dez. 2013
Try to use the {}Code button. It makes it easier to read the code.
per isakson
am 6 Dez. 2013
Bearbeitet: per isakson
am 6 Dez. 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
am 7 Dez. 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
am 19 Dez. 2013
per isakson
am 19 Dez. 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
am 19 Dez. 2013
per isakson
am 19 Dez. 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
am 7 Dez. 2013
1 Stimme
Kategorien
Mehr zu Platform and License finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!