Mercurial > hg > ishara
annotate general/algo/iterate_sched.m @ 28:673b8e45d05a
Tidied up indentation.
author | samer |
---|---|
date | Sat, 19 Jan 2013 14:40:54 +0000 |
parents | e44f49929e56 |
children |
rev | line source |
---|---|
samer@4 | 1 function tm=iterate_sched(nextfn,X,T,varargin) |
samer@4 | 2 % iterate_sched - Iterate function under control of timer |
samer@4 | 3 % |
samer@4 | 4 % iterate_sched :: |
samer@4 | 5 % (A=>A) ~'state transformer action', |
samer@4 | 6 % A ~'initial state', |
samer@4 | 7 % real ~'time between updates in seconds' |
samer@4 | 8 % options { |
samer@4 | 9 % drawnow :: {0,1} /0 ~'call drawnow after each iteration'; |
samer@4 | 10 % busy_mode :: {'queue','drop'} /'queue' ~'See TIMER'; |
samer@4 | 11 % its :: natural / inf ~'iteration limit' |
samer@4 | 12 % -> timer. |
samer@4 | 13 |
samer@4 | 14 opts=prefs('its',inf,'drawnow',0,'busy_mode','queue','props',{},varargin{:}); |
samer@4 | 15 if opts.drawnow, post=@drawnow; else post=@nop; end |
samer@4 | 16 |
samer@4 | 17 tm=rsched(@action,nows,T,opts.its,iterdata(nextfn,X)); |
samer@4 | 18 function [err,s]=action(t_sched,dt,s) |
samer@4 | 19 err=nows-t_sched; |
samer@4 | 20 s=nextfn(s); |
samer@4 | 21 post(); |
samer@4 | 22 end |
samer@4 | 23 end |
samer@4 | 24 |