查看: 256|回复: 4|关注: 0

[已解决] matlab二维矩阵相邻行欧式距离

[复制链接]

新手

14 麦片

财富积分


050


13

主题

25

帖子

0

最佳答案
现在想计算一个二维矩阵相邻行,例如1-2、1-3...等,如果用pdist函数计算的是第一行分别与第二行...第n行的欧式距离,有没有什么函数或好的方法进行计算?

回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

权威

4292 麦片

财富积分



4

主题

4395

帖子

934

最佳答案
  • 关注者: 212
发表于 2020-4-3 09:13:13 | 显示全部楼层 |此回复为最佳答案
本帖最后由 maple1314168 于 2020-4-3 09:16 编辑

很简单吧?就是作差,平方和再开方。
A=rand(10,3);
dis1=sum((diff(A)).^2,2).^0.5
dis2=diag(squareform(pdist(A)),1)

回复此楼 已获打赏: 0 积分

举报

新手

14 麦片

财富积分


050


13

主题

25

帖子

0

最佳答案
 楼主| 发表于 2020-4-3 11:01:43 | 显示全部楼层
maple1314168 发表于 2020-4-3 09:13
很简单吧?就是作差,平方和再开方。
A=rand(10,3);
dis1=sum((diff(A)).^2,2).^0.5

谢谢大佬!最近正在学习matlab,我是一个21045*21045的二维矩阵,这种方法计算比较耗时,有没有更好的算法优化一下?
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

权威

4292 麦片

财富积分



4

主题

4395

帖子

934

最佳答案
  • 关注者: 212
发表于 2020-4-3 11:06:48 | 显示全部楼层
Eric83209 发表于 2020-4-3 11:01
谢谢大佬!最近正在学习matlab,我是一个21045*21045的二维矩阵,这种方法计算比较耗时,有没有更好的算 ...

第一种,你都觉得耗时?
那你只能更新电脑了。
回复此楼 已获打赏: 0 积分

举报

新手

14 麦片

财富积分


050


13

主题

25

帖子

0

最佳答案
 楼主| 发表于 2020-4-3 11:22:17 | 显示全部楼层
maple1314168 发表于 2020-4-3 11:06
第一种,你都觉得耗时?
那你只能更新电脑了。

是我自己前面的部分出了问题,您提供的算法还是很快的,如果我现在想再求第二行到第n行 到第1...n行的欧式距离,是采用循环遍历的方法吗
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表