File: RandSel.m

package info (click to toggle)
psychtoolbox-3 3.0.14.20170103%2Bgit6-g605ff5c.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 103,044 kB
  • ctags: 69,483
  • sloc: ansic: 167,371; cpp: 11,232; objc: 4,708; sh: 1,875; python: 383; php: 344; makefile: 207; 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);