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官方文档

猜你喜欢

转载自www.cnblogs.com/Mrfanl/p/9316928.html
今日推荐