/[MITgcm]/MITgcm/utils/matlab/stats.m
ViewVC logotype

Contents of /MITgcm/utils/matlab/stats.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (show annotations) (download)
Sat Feb 17 23:49:43 2007 UTC (14 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint62c, checkpoint59, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62w, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint58y_post, checkpoint63g, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint58w_post, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint65o, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint62b, checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint61f, checkpoint58x_post, checkpoint61n, checkpoint59j, checkpoint61q, checkpoint61e, checkpoint61g, checkpoint61d, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61z, checkpoint61x, checkpoint61y, HEAD
Changes since 1.4: +3 -2 lines
add $Header:  $ and $Name:  & (for CVS)

1 function [varargout] = stats(A)
2 % stats(A) writes the basic statistics of the A to the terminal which
3 % are i) the minimum finite value
4 % ii) the maximum finite value
5 % iii) the mean of the finite values
6 % iv) the S.D. of the finite values ( RMS of [A-mean] )
7 % v) the fraction of non-finite elements excluded from calculations
8 %
9 % e.g.
10 % >> stats(topo)
11 % Min -4555 Max 0 Mean -2331.07 SD 1207.3441 N-Z 1024/1024
12 %
13 % [Min Max Mean SD]=stats(topo); returns the statistics in Min, Max,
14 % Mean and SD and does not write to the terminal.
15
16 % $Header: /u/gcmpack/MITgcm/utils/matlab/stats.m,v 1.4 2004/06/04 17:03:50 adcroft Exp $
17 % $Name: $
18
19 A=A(:);
20
21 %ii=find(A~=0);
22 ii=find(isfinite(A));
23 if isempty(ii)
24 ii=1;
25 end
26 sZ=prod(size(A));
27 minA=min(A(ii));
28 maxA=max(A(ii));
29 meanA=mean(A(ii));
30 sdA=sqrt( mean( (A(ii)-meanA).^2 ) );
31 rmsA=sqrt( mean( A(ii).^2 ) );
32 nZ=sum(~isfinite(A));
33 switch max(nargout)
34 case {0}
35 % disp( ...
36 % sprintf('Min %0.5g Max %0.5g Mean %0.5g SD %0.5g NaN %i/%i',...
37 % minA,maxA,meanA,sdA,nZ,sZ) );
38 disp( ...
39 sprintf('Min %0.5g Max %0.5g Mean %0.5g RMS %0.5g NaN %i/%i',...
40 minA,maxA,meanA,rmsA,nZ,sZ) );
41 case {1}
42 varargout(1)={minA};
43 case {2}
44 varargout(1)={minA};
45 varargout(2)={maxA};
46 case {3}
47 varargout(1)={minA};
48 varargout(2)={maxA};
49 varargout(3)={meanA};
50 case {4}
51 varargout(1)={minA};
52 varargout(2)={maxA};
53 varargout(3)={meanA};
54 varargout(4)={sdA};
55 otherwise
56 error('Too many return arguments requested')
57 end

  ViewVC Help
Powered by ViewVC 1.1.22