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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM