角度加权平均

2024-03-28 09:51:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想计算一组角度的加权平均值。在

this Question中,有一个如何计算平均值的答案 如this page所示。在

现在我想知道如何计算加权平均数。 也就是说,对于每个角度都有一个权重(权重总和为1)

0.25度,0度 0.5度,20度 0.25度,90度

加权平均值应该是32度(如果我没弄错的话)。在


Tags: 答案pagethis平均值权重角度question总和
2条回答

根据你的申请,这个问题有不同的答案。如上所述,您可能需要规范化您的值,您可能需要有符号的角度,或者您可能不希望。除非你知道角度生成函数是什么,否则可能没有唯一的答案。在

这对我来说是一个足够的问题(在几何方面工作),我编写了自己的角度类。在

好吧,我的方法是把这些值乘以权重:

def circular_mean(weights, angles):
    x = y = 0.
    for angle, weight in zip(angles, weights):
        x += math.cos(math.radians(angle)) * weight
        y += math.sin(math.radians(angle)) * weight

    mean = math.degrees(math.atan2(y, x))
    return mean

似乎工作正常。我得考虑好的测试数据。在

相关问题 更多 >