数据可视化--欧式距离与曼哈顿距离

(1)欧式距离

实质:其实就是应用勾股定理计算两个点的直线距离,两点间的距离
在这里插入图片描述

import numpy as np
vector1 = np.array([-1.000, -0.5000, 0.0000,0.5000,1.0000])
vector2 = np.array([0.1285, 0.241,0.3508,0.3999,0.3532 ])
p1=-0.4000
p2=0.2000
i=0
for  i in range(5):
    op1 = np.sqrt(np.sum(np.square(p1 - vector1[i])+np.square(p2-vector2[i])))
    # op2 = np.linalg.norm(vector1 - vector2)
    print(op1)
    # print(op2)

n维向量:

vector1 = np.array([1,2,3])  
vector2 = np.array([4,5,6])  
  
op1=np.sqrt(np.sum(np.square(vector1-vector2)))  
op2=np.linalg.norm(vector1-vector2)  
print(op1)  
print(op2)  

(2)曼哈顿距离

红线代表曼哈顿距离,实质就是两坐标点差值的绝对值之和,两点之间的直角距离而不是直线距离,绿色代表欧氏距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离。曼哈顿距离——两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|。对于一个具有正南正北、正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南北方向上旅行的距离加上在东西方向上旅行的距离,因此,曼哈顿距离又称为出租车距离。曼哈顿距离不是距离不变量,当坐标轴变动时,点间的距离就会不同。曼哈顿距离示意图在早期的计算机图形学中,屏幕是由像素构成,是整数,点的坐标也一般是整数,原因是浮点运算很昂贵,很慢而且有误差,如果直接使用AB的欧氏距离(欧几里德距离:在二维和三维空间中的欧氏距离的就是两点之间的距离),则必须要进行浮点运算,如果使用AC和CB,则只要计算加减法即可,这就大大提高了运算速度,而且不管累计运算多少次,都不会有误差。
在这里插入图片描述

import numpy as np
vector1 = np.array([-1.000, -0.5000, 0.0000,0.5000,1.0000])
vector2 = np.array([0.1285, 0.241,0.3508,0.3999,0.3532 ])
p1=-0.4000
p2=0.2000
i =0
for i in range(5):
    op3 = np.sum(np.abs(p1-vector1[i])+np.abs(p2 -vector2[i]))
    # op4 = np.linalg.norm(vector1 - vector2, ord=1)
    print(op3)

n维向量:

vector1 = np.array([1,2,3])  
vector2 = np.array([4,5,6])  
  
op1=np.sqrt(np.sum(np.square(vector1-vector2)))  
op2=np.linalg.norm(vector1-vector2)  
print(op1)  
print(op2)  

在这里插入图片描述
总结:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Recently 祝祝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值