したがって、極座標(振幅、角度)を2次元のユークリッド座標に変換するのは簡単です。角度ベクトルをユークリッド座標に変換して、n次元で固定振幅を与える方法
しかし、n(たとえばn = 5)次元では、私は固定振幅とランダム化された角度ベクトルを持っています。どのように座標のユークリッドのベクトルに変換することができますか?
amp = 0.5
n = 5
ang = np.random.rand(n) * 2* pi
感謝
したがって、極座標(振幅、角度)を2次元のユークリッド座標に変換するのは簡単です。角度ベクトルをユークリッド座標に変換して、n次元で固定振幅を与える方法
しかし、n(たとえばn = 5)次元では、私は固定振幅とランダム化された角度ベクトルを持っています。どのように座標のユークリッドのベクトルに変換することができますか?
amp = 0.5
n = 5
ang = np.random.rand(n) * 2* pi
感謝
2Dでは、変換は次のとおりです。
はx = amp * cos(angle)
y = amp * sin(angle)
3Dでは、1つのオプションです:
x = amp * cos(angle1) * cos(angle2)
y = amp * sin(angle1) * cos(angle2)
z = amp * sin(angle2)
あなたはパターンが表示されるはずです。すでに存在するディメンションはcos(newAngle)
です。新しい次元はsin(newAngle)
になります。だから、4Dには、これは次のようになります。
x = amp * cos(angle1) * cos(angle2) * cos(angle3)
y = amp * sin(angle1) * cos(angle2) * cos(angle3)
z = amp * sin(angle2) * cos(angle3)
w = amp * sin(angle3)
、i
番目の次元は(1ベース)である:
dim_i = sin(angle_(i-1)) * Product {j from i to n} cos(angle_j)
(angle_(i-1)
が存在する場合にのみ、そうでなければ1
に用語を設定します)。
ありがとう、これは私が探していたものです。 –
これまでの回答からわかるように、振幅と1つの角度は、2より大きい次元のベクトルを指定するには不十分です。 5次元では、振幅と4つの(ランダム化された)角度などが与えられますか?そして、得られた角度の確率分布を、与えられた振幅を有するn次元球上で均一にしたいですか?これまでの答えは、それ以外の場合と同様にこれを成し遂げません。 –
あなたはただランダムなベクトルをしたいですか、または与えられたベクトルを変換したいですか(タイトルが言うように)。 – agentp