110,533
社区成员
发帖
与我相关
我的任务
分享
//几何平均数
private static double GeometricMean(double[] arr)
{
double result = 1;
foreach (double num in arr)
{
result *= num;
}
return Math.Pow(result, 1.0 / arr.Length);
}
//加权几何平均数
private static double WeightingGeometricMean(double[] arr)
{
var p = arr.GroupBy(x => x).ToDictionary(x => x.Key, x => x.Count()); //获取集合中各成员出现的次数
double result = 1;
double f = 0;
foreach (double num in arr)
{
result *= Math.Pow(num, p[num]);
f += p[num];
}
return Math.Pow(result, 1.0 / f);
}