向量
在数学中,几何向量(也称为欧几里得向量,通常简称向量、矢量),指具有大小(magnitude)和方向的量。
向量可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。
向量的记法:印刷体记作粗体的字母(如
a、
b、
u、
v),书写时在字母顶上加一小箭头→。
[1]
如果给定向量的起点(A)和终点(B),可将向量记作AB(并于顶上加→)。给空间设一
直角坐标系,也能把向量以
数对形式表示,例如Oxy平面中(2,3)是一向量。
1、向量表达
下面先看如何表达向量
x=np.array([5,5])#可以看做是从0,0 点 到 5,5的向量
y=np.array([5,0])#可以看做是从0,0 点 到 5,0的向量
任意一个一维数据可以看做是原点到N维空间的一条向量如下面:
x1=np.array([5,5,5,10])
y2=np.array([5,0,25,0])
2、计算内积
print np.dot(x,y)#内积计算,如果是一维数据基本是距离的平方
print x.dot(y)#也可以写成
3、计算模
求向量模,也叫向量长度,或者是从原点到目标的距离
print "------求向量模,也叫向量长度,或者是从原点到目标的距离--------"
print "x模长="+str(np.sqrt(x.dot(x)))
print "y模长="+str(np.sqrt(y.dot(y)))
4、通过以上我们可以求出夹角
根据向量公式:cosθ=向量a.向量b/|向量a|×|向量b| (注意是点乘)
cos_e=np.dot(x,y)/(np.sqrt(x.dot(x))*np.sqrt(y.dot(y)))
print "余弦值="+str(cos_e)
angle_pi=np.arccos(cos_e)#弧度
angle_e=angle_pi*(180/np.pi)#角度
print angle_pi
print angle_e
输出:
余弦值=0.707106781187
0.785398163397
45.0