# HG changeset patch # User John W. Eaton # Date 1251789993 -7200 # Node ID f3e70f64c30c4bb52d8ff3ffb4676477720140ee # Parent 279d2f4102d721ff3204f661da88423848eda64d std.m: correctly work along singleton dimension diff --git a/scripts/ChangeLog b/scripts/ChangeLog --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,8 @@ +2009-08-06 John W. Eaton + + * statistics/base/std.m: Correctly work along singleton dimension. + From Christoph Ellenberger . + 2009-08-06 Olaf Till * geometry/griddata.m: Linearize arrays. diff --git a/scripts/statistics/base/std.m b/scripts/statistics/base/std.m --- a/scripts/statistics/base/std.m +++ b/scripts/statistics/base/std.m @@ -64,7 +64,7 @@ if (nargin < 1 || nargin > 3) print_usage (); endif - if nargin < 3 + if (nargin < 3) dim = find (size (a) > 1, 1); if (isempty (dim)) dim = 1; @@ -76,7 +76,7 @@ n = size (a, dim); if (n == 1) - retval = zeros (sz); + retval = zeros (size (a)); elseif (numel (a) > 0) retval = sqrt (sumsq (center (a, dim), dim) / (n + opt - 1)); else @@ -89,8 +89,9 @@ %! x = ones (10, 2); %! y = [1, 3]; %! assert(std (x) == [0, 0] && abs (std (y) - sqrt (2)) < sqrt (eps)); +%! assert (std (x, 0, 3), zeros (10, 2)) +%! assert (std (ones (3, 1, 2), 0, 2), zeros (3, 1, 2)) %!error std (); %!error std (1, 2, 3, 4); -