Mercurial > hg > ishara
diff general/cellutils/@cell/scanl.m @ 9:45aaf9b2d7b0
Moved high-order sequence/list functions to @cell class.
author | samer |
---|---|
date | Mon, 14 Jan 2013 15:49:04 +0000 |
parents | general/funutils/scanl.m@e44f49929e56 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/general/cellutils/@cell/scanl.m Mon Jan 14 15:49:04 2013 +0000 @@ -0,0 +1,24 @@ +% scanl - scanl for cell arrays +% +% scanl :: +% (S,X->S) ~'scannning function', +% S ~'initial value', +% {[N]->X} ~'data to scan, sequence of length L' +% -> {[N]->S}. + +function Y=scanl(f,y,X,varargin) + Y=cell(size(X)); + if nargin>3 + opts=prefs('draw',0,varargin{:}); + for i=1:size(X,2) + y1=f(y,X{i}); + Y{i}=y1; + if opts.draw, opts.plotfn(i,y,X{i},y1); end + optpause(opts); + y=y1; + end + else + for i=1:size(X,2), y=f(y,X{i}); Y{i}=y; end + end + +