matlab中各种距离计算方式
来源:互联网 发布:迅雷远程知乎 编辑:程序博客网 时间:2024/06/05 18:08
1、pdist函数
调用格式:Y=pdist(X,’metric’)
说明:用 ‘metric’指定的方法计算 X 数据矩阵中对象之间的距离。’
X:一个m×n的矩阵,它是由m个对象组成的数据集,每个对象的大小为n。
metric’取值如下:
‘euclidean’:欧氏距离(默认);
‘seuclidean’:标准化欧氏距离;
‘mahalanobis’:马氏距离;
‘cityblock’:布洛克距离;
‘minkowski’:明可夫斯基距离;
‘cosine’: 夹角余弦
‘correlation’: 相关距离
‘spearman'
‘hamming’: 汉明距离
‘jaccard’: 杰卡德距离& 杰卡德相似系数
‘chebychev’:Chebychev距离
2、pdist2函数
D = pdist2(X,Y)
D = pdist2(X,Y,distance)
D = pdist2(X,Y,'minkowski',P)
D = pdist2(X,Y,'mahalanobis',C)
D = pdist2(X,Y,distance,'Smallest',K)
D = pdist2(X,Y,distance,'Largest',K)
[D,I] = pdist2(X,Y,distance,'Smallest',K)
[D,I] = pdist2(X,Y,distance,'Largest',K)
clc;clear;
x = rand(4,3)
y = rand(1,3)
md1 = pdist2(x,y,'Euclidean');
md2 = pdist2(x,y,'seuclidean');
md3 = pdist2(x,y,'mahalanobis');
md4 = pdist2(x,y,'cityblock');
md5 = pdist2(x,y,'minkowski',p);
md6 = pdist2(x,y,'chebychev');
md7 = pdist2(x,y,'cosine');
md8 = pdist2(x,y,'correlation');
md9 = pdist2(x,y,'hamming');
md10 = pdist2(x,y,'jaccard');
md11 = pdist2(x,y,'spearman');
D1=[d1,md1],D2=[d2,md2],D3=[d3,md3]
D4=[d4,md4],D5=[d5,md5],D6=[d6,md6]
D7=[d7,md7],D8=[d8,md8]
md9,md10,md11
运行结果如下:
x =
0.5225 0.6382 0.6837
0.3972 0.5454 0.2888
0.8135 0.0440 0.0690
0.6608 0.5943 0.8384
y =
0.5898 0.7848 0.4977
D1 =
0.2462 0.2462
0.3716 0.3716
0.8848 0.8848
0.3967 0.3967
D2 =
0.8355 0.8355
1.5003 1.5003
3.1915 3.1915
1.2483 1.2483
D3 =
439.5074 439.5074
437.5606 437.5606
438.3339 438.3339
437.2702 437.2702
D4 =
0.3999 0.3999
0.6410 0.6410
1.3934 1.3934
0.6021 0.6021
D5 =
0.2147 0.2147
0.3107 0.3107
0.7919 0.7919
0.3603 0.3603
D6 =
0.1860 0.1860
0.2395 0.2395
0.7409 0.7409
0.3406 0.3406
D7 =
0.0253 0.0253
0.0022 0.0022
0.3904 0.3904
0.0531 0.0531
D8 =
1.0731 1.0731
0.0066 0.0066
1.2308 1.2308
1.8954 1.8954
md9 =
1
1
1
1
md10 =
1
1
1
1
md11 =
1.5000
0.0000
1.5000
2.0000
3、mahal函数
调用格式:D2=mahal(Y,X)
D2(I) = (Y(I,:)-MU) * SIGMA^(-1) * (Y(I,:)-MU)',
例子:
x = mvnrnd([0;0], [1 .9;.9 1], 100);
y = [1 1;1 -1;-1 1;-1 -1];
MahalDist = mahal(y,x)
sqEuclidDist = sum((y - repmat(mean(x),4,1)).^2, 2)
plot(x(:,1),x(:,2),'b.',y(:,1),y(:,2),'ro')
4、squareform函数
计算上三角矩阵和方形矩阵之间的距离矩阵
调用格式:
Z = squareform(Y)如果Y是由pdist函数得到的向量,翻转Y为一个对称方矩格式,
则Z(i,j)表示为原数据上i和j间的距离。
详见 matlab help squareform
- matlab中各种距离计算方式
- 各种“距离”计算方式
- 在matlab中计算距离矩阵
- 机器学习中各种距离计算
- 机器学习中各种距离计算
- MATLAB 距离计算
- 各种距离的计算
- Matlab中pdist 函数详解(各种距离的生成)
- Matlab中pdist 函数详解(各种距离的生成)
- Matlab中 pdist 函数详解(各种距离的生成)
- Matlab中pdist 函数详解(各种距离的生成)
- Matlab中 pdist 函数详解(各种距离的生成)
- Matlab中 pdist 函数详解(各种距离的生成)
- Matlab中pdist 函数详解(各种距离的生成)
- matlab中bar绘图设置与各种距离度量
- Matlab中图像梯度的计算方式
- 马氏距离计算--MATLAB
- R语言:计算各种距离
- NodeJs学习笔记一(ubuntu下环境搭建)
- 28日晚间的一则消息让很多业内人士大呼“看不懂”
- sizeof和strlen区别与不同
- 架构师速成5.2-如何掌握综合性技能
- Android Studio 视图解析
- matlab中各种距离计算方式
- 阿里云部署java环境
- HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR的使用 php
- mysql 中 unix_timestamp和from_unixtime 时间戳函数
- 网狐框架分析七--完整游戏流程 150624
- 关于"ORA-00942 表或视图不存在" 问题的解决方法
- 背景音乐功能
- 练习:多线程实现后台播放背景音乐的service
- java基础学习笔记1