samer@4: function varargout=multicall(varargin) samer@4: % multicall - sequential call to several closures, return values from last samer@4: % samer@4: % y=do(f,g,...,h,x) samer@4: % samer@4: % equivalent to samer@4: % f(x); g(x); ...; y=h(x); samer@4: samer@4: for i=1:length(varargin)-1 samer@4: feval(varargin{i}); samer@4: end samer@4: if nargout==0, samer@4: feval(varargin{end}); samer@4: else samer@4: [varargout{1:nargout}]=feval(varargin{end}); samer@4: end samer@4: end