--- scripts/statistics/base/mean.m.orig 2009-03-24 09:07:00.000000000 +0100 +++ scripts/statistics/base/mean.m 2009-03-24 09:07:00.000000000 +0100 @@ -104,7 +104,13 @@ endif if (strcmp (opt, "a")) - y = sum (x, dim) / n + d = max(abs(x),[],dim); + d(d == 0) = 1; + if (dim == 1) + y = (sum(x/diag(d)) / n) * diag(d); + else + y = diag(d) * (sum(diag(d)\x,dim) / n); + end elseif (strcmp (opt, "g")) x(x <= 0) = NaN; y = exp (sum (log (x), dim) / n);