忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 1613 | 回复: 1

求一三维数组最接近的算法 [复制链接]

论坛徽章:
0
发表于 2018-03-16 16:55 |显示全部楼层
RT

A=[3, -1, 4]

B = numpy.array([1,1,1],
                           [1,-1,1],
                           [1,1, -1])

A 在数组B中最接近的是 [1, -1, 1], 比较条件:正负的权重大于加减,这句话说明白了吧。

B1 = numpy.array([1,1,1],
                           [1,-1,1],
                           [1,1, -1],
                           [3,1,4])     结果还是[1,-1,1]。因为加减没有全匹配到。


数字中没有0.

论坛徽章:
0
发表于 2018-03-19 09:54 |显示全部楼层
A = np.array([3,-1, 4])

B = np.array([[1,1,1],[1,-1,1],[1,1,-1]])

# distances array-wise
np.abs(B - A)

# sum of absolute values of distances (smallest is closest)
np.sum(np.abs(B - A), axis=1)

# index of smallest (in this case index 1)
np.argmin(np.sum(np.abs(B - A), axis=1))

# all in one line (take array 1 from B)
result = B[np.argmin(np.sum(np.abs(B - A), axis=1))]

Karl Anka answered the Q.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP