annotate general/funutils/forels.m @ 6:0ce3c2070089

Removed duplicate code and fixed doc in timed_action.
author samer
date Mon, 14 Jan 2013 14:33:37 +0000
parents e44f49929e56
children
rev   line source
samer@4 1 function forels(f,X,varargin)
samer@4 2 % forels - do an action for each element of an array in order
samer@4 3 %
samer@4 4 % forels ::
samer@4 5 % (A->action) ~'action to apply to each element',
samer@4 6 % [[Size]->A] ~'array of elements of type',
samer@4 7 % options {
samer@4 8 % pause :: bool/0
samer@4 9 % drawnow :: bool/1
samer@4 10 % } ~'see ITERATE for more options'
samer@4 11 % -> action.
samer@4 12 %
samer@4 13 % Note, the array can be multidimensional - the standard order
samer@4 14 % cycles through the earlier indices before the later ones, eg
samer@4 15 % rows, then columns, then slices etc.
samer@4 16
samer@4 17 N=numel(X);
samer@4 18 iterate(@g,1,varargin{:});
samer@4 19
samer@4 20 function i=g(i)
samer@4 21 if i>N, i=[]; else f(X(i)); i=i+1; end
samer@4 22 end
samer@4 23 end