YAMP.YMath.Mean C# (CSharp) Method

Mean() public static method

public static Mean ( MatrixValue M ) : Value
M MatrixValue
return Value
        public static Value Mean(MatrixValue M)
        {
            if (M.Length == 0)
            {
                return ScalarValue.Zero;
            }

            if (M.IsVector)
            {
                var q = ScalarValue.One;

                for (var i = 1; i <= M.Length; i++)
                {
                    q *= M[i];
                }

                return q.Pow(new ScalarValue(1.0 / M.Length));
            }

            var s = new MatrixValue(1, M.DimensionX);

            for (var i = 1; i < M.DimensionX; i++)
            {
                s[1, i] = ScalarValue.One;
            }

            for (var i = 1; i <= M.DimensionY; i++)
            {
                for (var j = 1; j <= M.DimensionX; j++)
                {
                    s[1, j] *= M[i, j];
                }
            }

            for (var j = 1; j <= s.DimensionX; j++)
            {
                s[1, j] = s[1, j].Pow(new ScalarValue(1.0 / M.DimensionY));
            }

            return s;
        }

Usage Example

Exemplo n.º 1
0
 public Value Function(MatrixValue M)
 {
     return(YMath.Mean(M));
 }