如何从numpy数组中获取单位向量

Dog*_*ath 19 python arrays numpy

假设我有一个向量 v,我想要单位向量,即 v 的长度为 1.0 有没有直接的方法可以从 numpy 中得到它?

我想要这样的东西:

import numpy as np
v=np.arrange(3)
v_hat = v.norm()
Run Code Online (Sandbox Code Playgroud)

而不是,

length = np.linalg.norm(v)
v_hat = v / length
Run Code Online (Sandbox Code Playgroud)

blu*_*ote 23

numpy 中没有为此提供任何功能。只需将向量除以其长度即可。

v_hat = v / (v**2).sum()**0.5
Run Code Online (Sandbox Code Playgroud)

或者

v_hat = v / np.linalg.norm(v)
Run Code Online (Sandbox Code Playgroud)