/[MITgcm]/MITgcm_contrib/shelfice_remeshing/input/rms.m
ViewVC logotype

Annotation of /MITgcm_contrib/shelfice_remeshing/input/rms.m

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


Revision 1.1 - (hide annotations) (download)
Tue Jul 21 14:52:09 2015 UTC (9 years, 11 months ago) by dgoldberg
Branch: MAIN
*** empty log message ***

1 dgoldberg 1.1 function RMS= rms(varargin)
2     %
3     % Written by Phillip M. Feldman March 31, 2006
4     %
5     % rms computes the root-mean-square (RMS) of values supplied as a
6     % vector, matrix, or list of discrete values (scalars). If the input is
7     % a matrix, rms returns a row vector containing the RMS of each column.
8    
9     % David Feldman proposed the following simpler function definition:
10     %
11     % RMS = sqrt(mean([varargin{:}].^2))
12     %
13     % With this definition, the function accepts ([1,2],[3,4]) as input,
14     % producing 2.7386 (this is the same result that one would get with
15     % input of (1,2,3,4). I'm not sure how the function should behave for
16     % input of ([1,2],[3,4]). Probably it should produce the vector
17     % [rms(1,3) rms(2,4)]. For the moment, however, my code simply produces
18     % an error message when the input is a list that contains one or more
19     % non-scalars.
20    
21     if (nargin == 0)
22     error('Missing input.');
23     end
24    
25    
26     % Section 1: Restructure input to create x vector.
27    
28     if (nargin == 1)
29     x= varargin{1};
30    
31     else
32    
33     for i= 1 : size(varargin,2)
34     if (prod(size(varargin{i})) ~= 1)
35     error(['When input is provided as a list, ' ...
36     'list elements must be scalar.']);
37     end
38    
39     x(i)= varargin{i};
40     end
41     end
42    
43    
44     % Section 2: Compute RMS value of x.
45    
46     RMS= sqrt (mean (x .^2) );

  ViewVC Help
Powered by ViewVC 1.1.22