MATLAB计算数据各种距离矩阵(欧式距离、加权欧式距离...)
文章目录代码参数运行示例代码在 MATLAB 中计算距离命令是 pdist,其命令格式如下:d = pdist(X, distance)参数其中 X 是输入数据(矩阵),即观测矩阵,X 的每行为样品的观测数据,每列为观测指标,distance 参数代表距离类型(默认欧式距离),各种距离如下:参数距离‘euclidean’欧氏距离‘cityblock’绝对距离‘minkowski’明氏距离‘cheb
代码
在 MATLAB 中计算距离命令是 pdist,其命令格式如下:
d = pdist(X, distance)
参数
其中 X 是输入数据(矩阵),即观测矩阵,X 的每行为样品的观测数据,每列为观测指标,distance 参数代表距离类型(默认欧式距离),各种距离如下:
| 参数 | 距离 |
|---|---|
| ‘euclidean’ | 欧氏距离 |
| ‘cityblock’ | 绝对距离 |
| ‘minkowski’ | 明氏距离 |
| ‘chebychev’ | 切氏距离 |
| ‘seuclidean’ | 方差加权距离(加权欧氏距离) |
| ‘mahalanobis’ | 马氏距离 |
输出 d d d 是一个行向量,其长度为 ( n − 1 ) n / 2 (n - 1)n/2 (n−1)n/2,其中 n n n 为样本容量, d d d 的元素分别是个体 ( 1 , 2 ) , ( 1 , 3 ) , . . . , ( 1 , n ) , ( 2 , 3 ) , . . . , ( 2 , n ) , . . . , ( n − 1 , n ) (1, 2), (1, 3), ..., (1, n), (2, 3), ..., (2, n), ..., (n-1, n) (1,2),(1,3),...,(1,n),(2,3),...,(2,n),...,(n−1,n) 之间的距离。
运行示例
欧式距离:
>> load fisheriris % 导入荨片的相关数据
>> d = pdist(meas); % 计算欧式距离
>> size(d)
ans =
1 11175
>>
加权欧式距离(方差加权距离):
>> d = pdist(meas, 'seuclidean');
>> size(d)
ans =
1 11175
>>
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)