function sel = RandSel(in,n) % sel = RandSel(in,n) % if N is a scalar % randomly selects N elements from set IN, elements are replenished. % Output is of size 1xN % if N is a vector % randomly selects prod(N) elements from set IN, with replenishment. N % specifies the shape of the output, e.g., if N=[10 10 5], SEL will be % a 10x10x5 matrix % IN can be of any datatype and can have any number of dimensions and % elements % DN 2008 wrote it % 2008-08-06 Updated it to support n selections from set (DN) % 2012-06-13 Can now also return shaped inputs through non-scalar n input (DN) if isscalar(n) n = [1,n]; end selind = ceil(RandLim(n,0,numel(in))); sel = in(selind);