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

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

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


Revision 1.2 - (show annotations) (download)
Thu Sep 10 14:41:59 2015 UTC (9 years, 10 months ago) by dgoldberg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
Error occurred while calculating annotation data.
FILE REMOVED
*** empty log message ***

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