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
|