]> Creatis software - CreaPhase.git/blob - octave_packages/nnet-0.1.13/__printLayerConnect.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / nnet-0.1.13 / __printLayerConnect.m
1 ## Copyright (C) 2006 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} {} __printLayerConnect (@var{fid})
20 ## @code{printMLPHeader} saves the header of a  neural network structure
21 ## to a *.txt file with identification @code{fid}.
22 ## @end deftypefn
23
24 ## Author: Michel D. Schmid
25
26 function __printLayerConnect(fid,net)
27
28   if isfield(net,"layerConnect")
29     # net.layerConnect can be a matrix..!
30     # check if it's a matrix
31     if isscalar(net.layerConnect)
32       error("unsure if this is possible..")
33     elseif isnumeric(net.layerConnect)
34       if ismatrix(net.layerConnect)
35         if issquare(net.layerConnect)
36           # insert enough spaces to put ":" to position 20
37           # insert 2 spaces for distance between ":" and "%"
38           fprintf(fid,"        layerConnect:  [");
39           [nRows nColumns] = size(net.layerConnect);
40           for k = 1:1:nRows
41             for i = 1:1:nColumns
42               if i<nColumns
43                 fprintf(fid,"%d ",net.layerConnect(i*k));
44               else
45                 fprintf(fid,"%d",net.layerConnect(i*k));
46               endif
47             endfor
48             if k!=nRows
49               #print ; for newline in matrix
50               fprintf(fid,";");
51             endif
52           endfor
53           # print last bracket
54           fprintf(fid,"] not yet used item\n");
55         elseif isvector(net.layerConnect)
56         # insert enough spaces to put ":" to position 20
57         # insert 2 spaces for distance between ":" and "%"
58         # print bracket for open
59           fprintf(fid,"        layerConnect:  [");
60           [nRows nColumns] = size(net.layerConnect);
61              for k = 1:1:nRows
62                for i = 1:1:nColumns
63                  fprintf(fid,"%d",net.layerConnect(i*k));
64                endfor
65                if k!=nRows
66                  #print ; for newline in matrix
67                  fprintf(fid,";");
68                endif
69              endfor
70              # print last bracket
71              fprintf(fid,"] not yet used item\n");
72            endif  # if issquare..
73          endif #if ismatrix
74       endif
75     else
76       fprintf(fid," ERROR...");
77     endif
78
79 endfunction