有没有更简单的命令来计算矢量投影?
我改为使用以下内容:
x = np.array([ 3, -4, 0])
y = np.array([10, 5, -6])
z=float(np.dot(x, y))
z1=float(np.dot(x, x))
z2=np.sqrt(z1)
z3=(z/z2**2)
x*z3
也许这才是你真正想要的:
np.dot(x, y) / np.linalg.norm(y)
这应该给出向量的投影x
到向量上y
- see https://en.wikipedia.org/wiki/Vector_projection https://en.wikipedia.org/wiki/Vector_projection。或者,如果您想计算的投影y
onto x
,然后替换y
with x
在分母 (norm
)上式。
编辑:正如 @VaidAbhishek 评论的那样,上面的公式适用于scalar投影。获得vector投影 将标量投影乘以第一个向量投影到的向量方向上的单位向量。那么公式可以修改为:
y * np.dot(x, y) / np.dot(y, y)
对于向量投影x
onto y
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)