]> Creatis software - CreaPhase.git/blob - octave_packages/nnet-0.1.13/__randomisecols.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / nnet-0.1.13 / __randomisecols.m
1 ## Copyright (C) 2008 Michel D. Schmid  <michaelschmid@users.sourceforge.net>
2 ##
3 ##
4 ## This program is free software; you can redistribute it and/or modify it
5 ## under the terms of the GNU General Public License as published by
6 ## the Free Software Foundation; either version 2, or (at your option)
7 ## any later version.
8 ##
9 ## This program is distributed in the hope that it will be useful, but
10 ## WITHOUT ANY WARRANTY; without even the implied warranty of
11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 ## General Public License for more details.
13 ##
14 ## You should have received a copy of the GNU General Public License
15 ## along with this program; see the file COPYING.  If not, see
16 ## <http://www.gnu.org/licenses/>.
17
18 ## -*- texinfo -*-
19 ## @deftypefn {Function File} {} @var{retmatrix} = __randomisecols (@var{matrix})
20 ## @code{__randomisecols} takes a matrix as input argument and changes the order
21 ## of the columns. The rows aren't affected.
22 ## @end deftypefn
23
24 ## Author: mds
25
26 function [retmatrix] = __randomisecols(matrix)
27
28   ## check number of inputs
29   error(nargchk(1,1,nargin));
30
31   # get number of cols
32   nCols = size(matrix,2);
33   
34   # now create random column order
35   colOrder = randperm(nCols);
36   
37   # now sort the matrix new
38   retmatrix = matrix(:,[colOrder]);
39
40
41 endfunction
42
43 %!# no test possible, contains randperm which is using
44 %!# some randome functions