File: NRandPerm.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 (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);