首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Matlab中正确使用pdist

在Matlab中正确使用pdist
EN

Stack Overflow用户
提问于 2012-02-28 16:46:04
回答 1查看 1.1K关注 0票数 3

我有一个点云,我想在Matlab中计算每个点之间的距离(最好不要重复)。

具有坐标的矩阵格式为:points [ p x n x d ]。在p = 1 (目前)中,n与点数一样大,d与维数一样大(本例中为3)。

这是我掌握的数据:

  • points(:,:,1) = 1 2 3
  • points(:,:,2) = 4 5 6
  • points(:,:,3) = 7 8 9

所以我有三维空间的三点。现在使用pdist,我尝试使用distances = pdist(points(:,1:3));distances = pdist(X(:,:,1:3));计算每个点之间的欧几里德距离,但两者都只是返回一个空矩阵。

有人知道如何使用pdist来计算这些距离吗?它应该返回3个距离,而不是0,但我肯定做错了什么。

顺便说一句。这个问题是问题的后续问题。起初,我在评论中提出了这个问题,但我认为它值得提出一个新的问题,因为它大大扩展了原来的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-28 17:34:05

试一试

代码语言:javascript
复制
distances = pdist(squeeze(X(:,:,1:3)));

或者squeeze(...)的转置(如果不正确的话)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9486081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档