Mercurial > hg > octave-nkf
comparison scripts/general/randperm.m @ 3276:edf6e4852287
[project @ 1999-10-12 05:49:45 by jwe]
author | jwe |
---|---|
date | Tue, 12 Oct 1999 05:52:31 +0000 |
parents | |
children | 858695b3ed62 |
comparison
equal
deleted
inserted
replaced
3275:b9a024ee0312 | 3276:edf6e4852287 |
---|---|
1 ## Copyright (C) 1998 John W. Eaton | |
2 ## | |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 2, or (at your option) | |
8 ## any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
16 ## along with Octave; see the file COPYING. If not, write to the Free | |
17 ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA | |
18 ## 02111-1307, USA. | |
19 | |
20 ## usage: randperm (N) | |
21 ## | |
22 ## Return a row vector containing a random permutation of the | |
23 ## integers from 1 to N. | |
24 | |
25 ## Author: "James R. Van Zandt" <jrv@vanzandt.mv.com> | |
26 ## Adapted-By: jwe | |
27 | |
28 function retval = randperm (n) | |
29 | |
30 if (nargin == 1 && is_scalar (n) && floor (n) == n) | |
31 if (n > 0) | |
32 [junk, retval] = sort (rand (1, n)); | |
33 else | |
34 error ("randperm: argument must be positive"); | |
35 endif | |
36 else | |
37 usage ("randperm (n)"); | |
38 endif | |
39 | |
40 endfunction |