当前位置: 首页 > wzjs >正文

建e室内设计网全景分类seo关键词优化是什么意思

建e室内设计网全景分类,seo关键词优化是什么意思,太原的网站建设公司哪家好,易语言 做网站numpy学习笔记11:计算两个数组的欧氏距离 欧氏距离是指在多维空间中两点之间的直线距离,计算公式是各分量差的平方和的平方根。也就是说,如果有两个点P和Q,坐标分别是(p1, p2, ..., pn)和(q1, q2, ..., qn),那么它们之…

numpy学习笔记11:计算两个数组的欧氏距离

欧氏距离是指在多维空间中两点之间的直线距离,计算公式是各分量差的平方和的平方根。也就是说,如果有两个点P和Q,坐标分别是(p1, p2, ..., pn)和(q1, q2, ..., qn),那么它们之间的欧氏距离d就是√[(p1-q1)² + (p2-q2)² + ... + (pn-qn)²]。

计算两个数组的欧氏距离的普通办法:

def distance_no_numpy(arr1, arr2):if len(arr1) != len(arr2):raise ValueError("两个数组的长度必须相同")squared_sum = 0for i in range(len(arr1)):squared_sum += (arr1[i] - arr2[i]) ** 2return squared_sum ** 0.5
# 示例数组
arr1 = [1, 2, 3]
arr2 = [5, 4, 3]# 计算欧氏距离
distance = distance_no_numpy(arr1, arr2)
print(f"不使用 NumPy 计算的欧氏距离: {distance}")

使用numpy计算两个数组的欧氏距离可以通过以下步骤实现

计算两个数组之间的欧氏距离的步骤是:

1. 计算两个数组的差值:diff = a - b

2. 对差值进行平方:squared_diff = np.square(diff)

3. 求和:sum_squared_diff = np.sum(squared_diff)

4. 取平方根:euclidean_distance = np.sqrt(sum_squared_diff)

计算两个数组的欧氏距离可以通过以下步骤实现,使用NumPy的高效向量化操作:


方法1:分步计算

  1. 计算差值:对应元素相减。

  2. 平方差值:逐元素平方。

  3. 求和:所有平方差值相加。

  4. 开平方:取总和的平方根。

import numpy as np# 示例数组
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])# 分步计算
diff = a - b          # 差值: [-3, -3, -3]
squared_diff = diff ** 2  # 平方: [9, 9, 9]
sum_diff = np.sum(squared_diff)  # 求和: 27
euclidean_distance = np.sqrt(sum_diff)  # 平方根: 5.196print("欧氏距离:", euclidean_distance)

方法2:使用 np.linalg.norm

直接计算两个数组差的 L2范数(即欧氏距离):

import numpy as npa = np.array([1, 2, 3])
b = np.array([4, 5, 6])distance = np.linalg.norm(a - b)
print("欧氏距离:", distance)  # 输出: 5.196

扩展场景

1. 多维数组计算

若输入为二维数组(如矩阵行向量),需展平为一维或按行处理:

a = np.array([[1, 2], [3, 4]])  # 形状 (2,2)
b = np.array([[5, 6], [7, 8]])# 展平后计算整体距离
distance = np.linalg.norm(a.flatten() - b.flatten())# 或逐行计算距离(每对行的距离)
row_distances = np.linalg.norm(a - b, axis=1)
2. 批量计算(矩阵间所有行组合)

使用广播计算两个矩阵各行之间的欧氏距离:

X = np.array([[1, 2], [3, 4]])  # 形状 (2,2)
Y = np.array([[5, 6], [7, 8]])  # 形状 (2,2)# 计算每对行的距离
distances = np.sqrt(np.sum((X[:, np.newaxis] - Y) ** 2, axis=2))

关键点总结

  • 公式:d=∑i=1n(ai−bi)2d=∑i=1n​(ai​−bi​)2​。

  • 效率:向量化操作(如 np.linalg.norm)比显式循环快数百倍。

  • 灵活性:适用于任意维度的数组(需形状一致或可广播)。

通过以上方法,可以高效计算任意形状数组的欧氏距离。

http://www.dtcms.com/wzjs/118297.html

相关文章:

  • 女与男爱做电影网站免费seo推广平台服务
  • 做网站软件排名uc信息流广告投放
  • 北京网站建设公司升上去微信广告推广平台
  • 滑动 手机网站 代码成都做网络推广的公司有哪些
  • 点金wordpress网络推广seo怎么做
  • 自己做的网站能放到织梦上广东今日最新疫情通报
  • 福州网站建设seo主要做什么
  • 网站建设制作设计广州seo优化排名推广
  • 广州建设局官网seo哪家公司好
  • 奢侈品购物网站排名如何设计与制作网页
  • 网站建设客户会问的问题百度搜索指数在线查询
  • 如何做网站demo百度关键词推广怎么收费
  • 怎样申请网站域名灵感关键词生成器
  • wordpress网站正在建设中西安网站seo哪家公司好
  • 类似淘宝网 的淘宝客网站模板网络推广策划方案怎么写
  • 为客户网站做产品描述外贸seo优化
  • 做网站的公司如何推广如何提高网站在搜索引擎中的排名
  • 公司网站总感觉少点什么找什么人做百度推广视频
  • 微信上怎么做网站链接网络推广赚钱
  • 网站建设 中企动力 顺德免费推广引流平台有哪些
  • 全国企业信息公示系统官网seo网站设计工具
  • 网站图片上传却不显示不出来seo排名赚app官网
  • 天津门头设计制作价格济南seo排名搜索
  • 长沙网站开发智2023年12月疫情又开始了吗
  • 班级介绍网站首页如何做百度seo优化哪家好
  • 调教亲妹妹做性奴网站北京百度网讯科技有限公司
  • 怎么添加wordpress模板广州网站排名优化报价
  • 凡科网站代码如何修改网络营销的效果是什么
  • 做网站价格公司吸引人气的营销方案
  • 织梦新手网站建设关键词网络推广企业