public static Median ( |
||
M | ||
return |
public static ScalarValue Median(MatrixValue M)
{
if (M.Length == 0)
{
return ScalarValue.Zero;
}
else if (M.Length == 1)
{
return M[1];
}
M = M.VectorSort();
var midPoint = 0;
var sum = ScalarValue.Zero;
if (M.Length % 2 == 1)
{
midPoint = M.Length / 2;
sum = M[midPoint + 1];
}
else
{
midPoint = (M.Length / 2);
sum = M[midPoint] + M[midPoint + 1];
sum /= 2.0;
}
return sum;
}
public ScalarValue Function(MatrixValue M) { return(YMath.Median(M)); }