samer@9: function Y=returns(I,F,varargin) samer@9: % returns - Evaluate function and return multiple values in cell array samer@4: % samer@9: % returns :: samer@9: % I:[[M]->[N]] ~'M numbers between 1 and N', samer@9: % (A(1),...,A(L) -> B(1), ..., B(N)) ~'function with L in and N outputs', samer@9: % A(1), ..., A(L) ~'arguments for function' samer@9: % -> cell { B(I(1)), ..., B(I(M)) } ~'selected returns in a cell array'. samer@4: samer@4: Z=cell(max(I),1); samer@4: [Z{:}]=F(varargin{:}); samer@4: Y=Z(I);