samer@4: function h=funseq(varargin) samer@4: % funseq - Constructs sequential application of several functions samer@4: % samer@4: % h=funseq(f,...,g) samer@4: % samer@4: % returns the function h such that h(...) = g(...) but samer@4: % all functions are evaluated in order. samer@4: samer@4: fns=varargin; samer@4: h=@seq; samer@4: samer@4: function varargout=seq(varargin) samer@4: for i=1:length(fns)-1 samer@4: feval(fns{i},varargin{:}); samer@4: end samer@4: if nargout==0, samer@4: feval(fns{end},varargin{:}); samer@4: else samer@4: [varargout{1:nargout}]=feval(fns{end},varargin{:}); samer@4: end samer@4: end samer@4: end