]> Creatis software - CreaPhase.git/blob - octave_packages/nnet-0.1.13/__mae.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / nnet-0.1.13 / __mae.m
1 ## Copyright (C) 2007 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, write to the Free
16 ## Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 ## 02110-1301, USA.
18
19 ## -*- texinfo -*-
20 ## @deftypefn {Function File} {}@var{perf} = __mae (@var{E})
21 ## @code{__mse} returns the Mean-Square-Error of a vector E
22 ##
23 ## @example
24 ##
25 ## This function is used to calculate the perceptron performance
26 ## @end example
27 ##
28 ## @end deftypefn
29
30 ## @seealso{__mse}
31
32 ## Author: Michel D. Schmid
33
34 function perf = __mae(E)
35
36   ## check number of inputs
37   error(nargchk(1,1,nargin));
38
39   if iscell(E)
40     perf = 0;
41     elements = 0;
42     for i=1:size(E,1)
43       for j=1:size(E,2)
44         perf = perf + sum(sum(E{i,j}.^2));
45         elements = elements + prod(size(E{i,j}));
46       endfor
47     endfor
48     perf = perf / elements;
49   else
50     error("Error vector should be a cell array!")
51   endif
52
53
54 endfunction