File: NRandPerm.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 (19 lines) | stat: -rw-r--r-- 652 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
function p = NRandPerm(n,nret)
%NRandPerm Random permutation.
%   NRandPerm(n,nret) is a random permutation of the integers from 1 to n,
%   of which nret elements are returned.
%   NRandPerm thus returns a random selection of integers from 1 to n with
%   no repeats.
%
%   For example, NRandPerm(6,4) might be [2 4 5 6].
%   
%   Note that NRandPerm calls RAND and therefore changes RAND's state.
%
%   See also PERMUTE, RANDPERM.

% DN 2008-07-30 Wrote it

psychassert(nret<=n,'More return elements requested (nret: %d) than elements in random permutation (n: %d)',nret,n);

[ignore,p]  = sort(rand(1,n));
p           = p(1:nret);