# encoding=utf-8
import numpy as np
x = []
#欧几里得距离
def distance_betwin_p(p1,p2):
np.sqrt((p1[0] - p2[0]) * (p1[0] - p2[0]) + (p1[1] - p2[1]) ** 2)
#创建一个指定行列的数组,默认值是0或者正无穷或负无穷 ∞
np.empty((3,4))
#科学计数法的读法
1.23e3 #1.23x10的三次方
1.23e-3 #1.23x10负三次方
#实数在计算机里没有对应表示,只能用浮点数无限逼近。所以在处理和0比较的时候要格外小心
#a - b < 0.1e-10 例如相减的时候当结果小于一个极小的数值就认为相等
#矢量是有方向和长度的变量,可以用numpy的多维数组来表示,二维矢量就是平面的一个点
#计算矢量X的范数(长度)
np.linalg.norm(x)
#计算矢量的角度
d = np.arctan(3.0/3.0)
#将弧度转化为角度
np.rad2deg(d) #np.deg2rad()将角度转化为弧度
#向b1方向移动,再向b2方向移动
b1 = np.array([3,0])
b2 = np.array([0,3])
np.linalg.norm(b1 + b2)
#使用两个矢量相减,可以计算两点之间的距离
d1 = np.array([2,7])
d2 = np.array([8,3])
np.linalg.norm(d1 - d2)
#余弦相似度,向量的内积,对应元素想乘,再相加
costheta = d1.dot(d2)/(np.linalg.norm(d1) * np.linalg.norm(d2))
#numpy数组(矢量)默认的+ - x /操作都是对应位置的元素相操作
#-3x**2+5x-6
#TypeError: