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