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

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

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


Revision 1.5 - (hide annotations) (download)
Sat Feb 17 23:49:43 2007 UTC (14 years, 7 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 adcroft 1.2 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 jmc 1.5
16     % $Header: /u/gcmpack/MITgcm/utils/matlab/stats.m,v 1.4 2004/06/04 17:03:50 adcroft Exp $
17     % $Name: $
18 adcroft 1.3
19     A=A(:);
20 adcroft 1.2
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 adcroft 1.4 rmsA=sqrt( mean( A(ii).^2 ) );
32 adcroft 1.3 nZ=sum(~isfinite(A));
33 adcroft 1.2 switch max(nargout)
34     case {0}
35 adcroft 1.4 % 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 adcroft 1.2 disp( ...
39 adcroft 1.4 sprintf('Min %0.5g Max %0.5g Mean %0.5g RMS %0.5g NaN %i/%i',...
40     minA,maxA,meanA,rmsA,nZ,sZ) );
41 adcroft 1.2 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