]> Creatis software - CreaPhase.git/blob - octave_packages/nnet-0.1.13/__getx.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / nnet-0.1.13 / __getx.m
1 ## Copyright (C) 2005 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{x} = __getx (@var{net})
20 ## @code{__getx} will rerange the weights in one columns vector.
21 ##
22 ##
23 ## @noindent
24 ## @end deftypefn
25
26
27 ## Author: Michel D. Schmid
28
29 function x = __getx(net)
30
31   ## check number of inputs
32   error(nargchk(1,1,nargin));
33
34   ## check input args
35   ## check "net", must be a net structure
36   if !__checknetstruct(net)
37     error("Structure doesn't seem to be a neural network")
38   endif
39
40   ## inputs
41   x = net.IW{1,1}(:);
42   x = [x; net.b{1}(:)];
43
44   nNumLayers = net.numLayers;
45   for iLayers = 2:nNumLayers # 1 would be the input layer
46
47     ## layers
48     x = [x; net.LW{iLayers,iLayers-1}(:)];
49     x = [x; net.b{iLayers}(:)];
50
51   endfor
52
53
54 endfunction