File: RandSel.m

package info (click to toggle)
psychtoolbox-3 3.0.19.14.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 86,796 kB
  • sloc: ansic: 176,245; cpp: 20,103; objc: 5,393; sh: 2,753; python: 1,397; php: 384; makefile: 193; java: 113
file content (22 lines) | stat: -rw-r--r-- 732 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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);