Mercurial > hg > ishara
annotate general/funutils/foldrcols.m @ 4:e44f49929e56
Adding reorganised general toolbox, now in several subdirectories.
author | samer |
---|---|
date | Sat, 12 Jan 2013 19:21:22 +0000 |
parents | |
children |
rev | line source |
---|---|
samer@4 | 1 % foldcols :; |
samer@4 | 2 % ([[M]], [[N]] -> [[M]]) ~'folding function', |
samer@4 | 3 % [[M]] ~'initial value', |
samer@4 | 4 % [[N,L]] ~'data to scan, sequence of length L' |
samer@4 | 5 % -> [[M]]. |
samer@4 | 6 |
samer@4 | 7 function y=foldrcols(f,y,X,varargin) |
samer@4 | 8 if nargin>3 |
samer@4 | 9 opts=prefs('draw',0,varargin{:}); |
samer@4 | 10 for i=size(X,2):-1:1 |
samer@4 | 11 y1=f(y,X(:,i)); |
samer@4 | 12 if opts.draw |
samer@4 | 13 opts.plotfn(i,y,X(:,i),y1); |
samer@4 | 14 end |
samer@4 | 15 optpause(opts); |
samer@4 | 16 y=y1; |
samer@4 | 17 end |
samer@4 | 18 else % streamlined version |
samer@4 | 19 for i=size(X,2):-1:1, y=f(y,X(:,i)); end |
samer@4 | 20 end |
samer@4 | 21 |
samer@4 | 22 |