首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab中的pdist函数

Matlab中的pdist函数
EN

Stack Overflow用户
提问于 2017-09-20 01:30:05
回答 1查看 161关注 0票数 1

我有一个N乘以2的矩阵,叫做r (N非常大)。R是2D中点的位置。我寻找了计算点之间距离的最佳优化方法。我发现,如果不尝试将其转换为方阵,dist函数在较少的时间内是最好的。我想知道我是不是该写

代码语言:javascript
复制
D= pdist(r, 'euclidean');

当我需要粒子i和j之间的距离时,使用D矢量找到它的最佳方法是什么?如果不使用if,我真的不会做任何事情。我知道我可以做到

代码语言:javascript
复制
if (i < j) 
    D((i–1)*(m–i/2)+j–i)
end

但由于N非常大,因此效率不高。有人能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2017-09-20 03:19:42

我使用iijj作为行索引和列索引,进入大小为N的假设距离矩阵M = squareform(D)。结果是ind,这样D(ind)就等于M(ii,jj)

代码语言:javascript
复制
t = sort([ii, jj]); % temporary variable
ii = t(2); % maximum of ii and jj
jj = t(1); % minimum of ii and jj
t = N-1:-1:1;
ind = sum(t(1:jj-1)) + ii - jj;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46306535

复制
相关文章

相似问题

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