0

私は Cocoa でプログラムを書いていますが、ソリューションは非常に普遍的でなければならないと思います。

3D ベクトルで表される点のセットがあります。各ポイントには重みが割り当てられています。重みは 0 から 1 の範囲にあります。すべての重みの合計は 1 に等しくありません。

そのようなセットから加重平均点をどのように計算する必要がありますか?

プログラムまたは純粋な数学的ソリューションのいずれかが役立ちます。もちろん、Cocoa がこのタスクを解決するための特定のツールを持っている場合は、この情報に感謝します。

4

1 に答える 1

2

重みでスケーリングされたすべてのベクトルを単純に合計します。最後に、すべての重みの合計で割ります。これは、最初にすべての重みを合計して 1 に正規化するのと同じ効果があります。

擬似コード:

sum = [0, 0, 0]
totalWeights = 0
for each point p with associated weight w:
    sum += p * w
    totalWeights += w
mean = sum / totalWeights
于 2012-10-31T13:41:58.257 に答える