Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用矢量化方法计算多维数组之间的成对曼哈顿/L1距离?

如何使用矢量化方法计算多维数组之间的成对曼哈顿/L1距离?
EN

Stack Overflow用户
提问于 2019-02-15 02:19:04
回答 1查看 306关注 0票数 1

假设我有两个大小为(4000,3)的数组。我想以向量化的方式计算从第一个数组的每个向量到第二个数组中的每个向量的L1/曼哈顿距离,这样我就得到了一个(4000,4000)数组。

我目前的方法是将(4000,3)分成3个独立的(4000,1)数组并进行广播(类似于这里:Python alternative for calculating pairwise distance between two sets of 2d points)。

但是,如果初始矩阵的大小不同,例如(4000,4)或(4000,5),这种方法就不能真正发挥作用。那么我的代码就会崩溃,因为它假设有3个通道。

因此,如果您能帮助我创建一个可以计算成对L1距离的广义矢量化方法,我将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-15 04:40:21

你可以用广播来做所有的事情(如果我理解你想要做什么的话)。首先计算向量的成对差(结果是shape N,N,k),然后计算每个向量的绝对值之和。

代码语言:javascript
运行
AI代码解释
复制
N = 4000
k = 4

X = np.random.rand(N,k)
Y = np.random.rand(N,k)

Z = np.sum(np.abs(X[:,None]-Y[:]),axis=-1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54701821

复制
相关文章
如何计算数组a和数组b 之间的欧式距离?
# 7. 如何计算数组a = np.array([1,2,3,2,3,4,3,4,5,6])和数组b = np.array([7,2,10,2,7,4,9,4,9,8])之间的欧式距离? a = np
瑞新
2020/07/07
2.6K0
1062. 计算曼哈顿距离
题目描述 给出平面上两个点的坐标(x1,y1),(x2,y2),求两点之间的曼哈顿距离。曼哈顿距离=|x1-x2|+|y1-y2|。 输入 一行四个空格隔开的实数,分别表示x1,y1,x2,y2。 输出 输出一个实数表示曼哈顿距离,保留三位小数。 样例输入 输出一个实数表示曼哈顿距离,保留三位小数。 样例输出 3.600 数据范围限制 -10000<=x1,y1,x2,y2<=10000 1 #include<iostream> 2 #include<cstring> 3 #include<cmath
attack
2018/04/12
8610
曼哈顿距离和欧拉距离
如果将坐标系分割成一个个的网格,曼哈顿距离正好可以刻画两点之间穿过格子数(只能沿着格子的边,不能沿着对角线斜穿),实际应用比较广泛,更多用于城市规划问题。
风骨散人Chiam
2020/10/28
1.2K0
曼哈顿距离和欧拉距离
暑期追剧学AI (三) | 10分钟搞定机器学习数学思维:向量和它的朋友们
大数据文摘作品,转载要求见文末 翻译 | 张静,狗小白 马卓群 校对 | 海抒 后期 | 郭丽(终结者字幕) 后台回复“字幕组”加入我们! 人工智能中的数学概念一网打尽!欢迎来到YouTube网红小哥Siraj的系列栏目“The Math of Intelligence”,本视频是该系列的第三集,讲解与向量、矩阵等相关的概念,以及在机器学习中的运作机理。后续系列视频大数据文摘字幕组会持续跟进,陆续汉化推出喔! 全部课表详见: https://github.com/llSourcell/The_Math_
大数据文摘
2018/05/25
8910
如何计算数组a = np.array([1,2,3,2,3,4,3,4,5,6])和数组b = np.array([7,2,10,2,7,4,9,4,9,8])之间的欧式距离?
# 7. 如何计算数组a = np.array([1,2,3,2,3,4,3,4,5,6])和数组b = np.array([7,2,10,2,7,4,9,4,9,8])之间的欧式距离? a = np
瑞新
2022/05/09
1.3K0
距离度量 —— 曼哈顿距离(Manhattan Distance)
曼哈顿街区熙熙攘攘,在高处向下望去,曼哈顿的建筑方方正正地排列在一条条街道上,仿佛一个个棋子排列在键盘上。
繁依Fanyi
2023/05/07
2.7K0
距离度量 —— 曼哈顿距离(Manhattan Distance)
计算距离矩阵的方法_距离矩阵计算
给定一个 N 行 M 列的 01 矩阵 A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为:
全栈程序员站长
2022/09/22
1.6K0
如何计算经纬度之间的距离_根据经纬度算距离
function getdistance(lng1,lat1,lng2,lat2){
全栈程序员站长
2022/09/28
4.6K0
曼哈顿距离最小生成树
1.曼哈顿距离:给定二维平面上的N个点,在两点之间连边的代价。(即distance(P1,P2) = |x1-x2|+|y1-y2|)
风骨散人Chiam
2020/10/28
9600
727. 菱形 (曼哈顿距离)
扩展:只打印边框,不打印内部的空心菱形 例题:ZZULIOJ 1077: 空心菱形 原题链接 分析:
浪漫主义狗
2023/09/04
1740
727. 菱形 (曼哈顿距离)
扩展:只打印边框,不打印内部的空心菱形 例题:ZZULIOJ 1077: 空心菱形 原题链接 分析:
浪漫主义狗
2022/07/11
2980
计算距离矩阵的方法_矩阵的欧式距离
给定一个 N 行 M 列的 01 矩阵 A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为:
全栈程序员站长
2022/09/22
1.1K0
最少联通代价(dfs+曼哈顿距离)
现在要把这 2 个连通块连通, 求最少需要把几个’.’转变成’X’。上图的例子中, 最少只需要把 3个’.’转变成’X’。下图用’*’表示转化为’X’的格点。 
Ch_Zaqdt
2019/01/10
9110
曼哈顿距离 (C++) NOI 1062
时间限制: 1000 ms 空间限制: 262144 KB 数据范围限制 -10000<=x1,y1,x2,y2<=10000
Skykguj
2022/09/09
8390
PHP:如何合并多维数组中的子数组
如何把多维数组中的每个子数组合并成一个新数组 $result,有两个方法: $merged = call_user_func_array('array_merge', $result); 如果是 PHP 版本在 5.6 以上,可以使用 ... 操作符: $merged = array_merge(...$result); ----
Denis
2023/04/15
5.7K0
mysql计算经纬度亮点之间的距离
1、计算距离的公式比较长(网上查找),建一个mysql函数: delimiter $$ CREATE FUNCTION FUN_JW_DIST(lng1 double(15,9), lat1 double(15, 9), lng2 double(15,9), lat2 double(15,9)) RETURNS int BEGIN DECLARE dist int; SET dist = round(6378.1382asin(sqrt(pow(sin((lat1pi()/180-lat2pi()/1
好派笔记
2021/11/02
1.2K0
mysql计算经纬度亮点之间的距离
1、计算距离的公式比较长(网上查找),建一个mysql函数: delimiter $$ CREATE FUNCTION FUN_JW_DIST(lng1 double(15,9), lat1 double(15, 9), lng2 double(15,9), lat2 double(15,9)) RETURNS int BEGIN DECLARE dist int; SET dist = round(6378.1382asin(sqrt(pow(sin((lat1pi()/180-lat2pi()/1
艳艳代码杂货店
2021/10/27
1.1K0
一行Python代码计算两点间曼哈顿距离
以下图为例,图中白色方块表示楼房,是无法穿越的,只能绕行,那么从左下角出发到达右上角,红色、蓝色、黄色三条路线的距离是相等的,也就是所谓曼哈顿距离,或者实际行走距离。 对于平面上的两个点(x1,y1)
Python小屋屋主
2018/04/16
3.1K0
一行Python代码计算两点间曼哈顿距离
点击加载更多

相似问题

计算曼哈顿距离

10

基于L1 (曼哈顿距离)的KNN预测

12

如何实现L1距离计算的矢量化版本

12

在TensorFlow中计算多维输入之间的成对欧几里德距离

114

Matlab:计算多维单元阵列的成对距离

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档