matlab的pdist函数详解
Posted mrfanl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab的pdist函数详解相关的知识,希望对你有一定的参考价值。
Pairwise distance between pairs of object(Pdist函数用于各种距离的生成)
语法:
D=pdist(x)
D=pdist(x,distance)
解释:
D=pdist(x) 计算m*n的数据矩阵中对象之间的欧几里得距离。矩阵中每一行作为observation,每一列作为variables(即计算矩阵中每一行之间的距离),D得到的是一个长度为m(m-1)/2的距离向量,距离是按顺序排列的(2,1),(3,1)…….(m,1),(3,2)……..(m,2)………(m,m-1);如下图:
为了节省空间D被格式化为一个向量,但是你可以使用squreform函数吧这个向量转换成一个方阵,这样矩阵中的(i,j)i<j,对应于原始数据集中的i和j之间的距离。如下图
D=
pdist(x,distance)
计算数据矩阵中对象之间的距离,使用
distance
指定的方法,
distance
可以取
上图从上至下分别为:欧几里得距离(默认),欧式距离平方,标准欧几里得距离,曼哈顿距离,闵可夫斯基距离,切比雪夫距离,马氏距离,夹角余弦距离,相关距离(两个向量的线性相关程度),spearman,汉明距离,杰卡德距离,
●部分图片来自matlab官方文档
以上是关于matlab的pdist函数详解的主要内容,如果未能解决你的问题,请参考以下文章
在MATLAB中知道多个点的位置坐标,怎样求各个点之间的距离?