0
次関数は3DはN = 1の場合、Nは> 1、Iは
ValueError: 'axis' entry is out of bounds
を得たときにそれが動作
def my_norm(v):
"""
@type v: Nx3 numpy array
"""
return v/numpy.linalg.norm(v, axis=1)[:, None]
ベクトル正規化しようと
と異なる入力サイズのベクトルを正規化する方法があります。私は両方の場合に対処するために次のチェックを行うことができますが、よりクリーンな方法があるのだろうか?
def my_norm(v):
"""
@type v: Nx3 numpy array
"""
if len(v) == 1:
return v/numpy.linalg.norm(v)
return v/numpy.linalg.norm(v, axis=1)[:, None]
最初の解決策は1X3アレイで機能するはずですが、(1,3)の代わりに(3)の配列を渡している可能性があります。 – Psidom
@Psidomそうです。 – nos