1. 第一范数
向量的各个元素的绝对值之和
import numpy as np
x = np.array([3, -4])
nor_x = np.linalg.norm(x, ord=1)
print('原始数据')
print(x)
print("第一范数计算结果:")
print(nor_x)
#######################################
'''
原始数据
[ 3 -4]
第一范数计算结果:
7.0
'''
2. 第二范数
向量的每个元素的平方和再开平方根
import numpy as np
x = np.array([3, 4])
nor_x = np.linalg.norm(x)
print('原始数据')
print(x)
print("第二范数计算结果:")
print(nor_x)
#######################################
'''
原始数据
[3 4]
第二范数计算结果
5.0
'''
3. 计算闵可夫斯基距离
def DistMinkov(xi, xj, p=2):
'''
计算两个向量的曼哈顿距离(第一范数)
:param xi: 向量xi, <1*n>
:param xj: 向量xj, <1*n>
:return: xi与xj之间的曼哈顿距离
'''
x = xi - xj
data = np.apply_along_axis(np.power, 0, x, p)
sum_data = np.sum(data)
return pow(sum_data, 1/p)