利用matlab,求下列矩阵的三种距离(欧几里得距离,曼哈顿距离,闵可夫斯基距离)x=[1 2 3;0 3 5;3 2 4]
时间: 2024-05-04 08:17:29 浏览: 47
欧式距离,欧式距离计算公式,matlab
5星 · 资源好评率100%
可以使用 `pdist2` 函数来计算矩阵中各行之间的距离,其中第一个输入是矩阵,第二个输入是距离类型。需要注意的是,欧几里得距离为默认距离,不需要指定距离类型。
以下是计算三种距离的代码:
```
% 矩阵
x = [1 2 3; 0 3 5; 3 2 4];
% 欧几里得距离
d_euclidean = pdist2(x, 'euclidean');
% 曼哈顿距离
d_manhattan = pdist2(x, 'cityblock');
% 闵可夫斯基距离,其中 p=3
d_minkowski = pdist2(x, 'minkowski', 3);
```
计算得到的结果分别为:
```
d_euclidean =
0 3.1623 2.4495
3.1623 0 3.3166
2.4495 3.3166 0
d_manhattan =
0 6 4
6 0 6
4 6 0
d_minkowski =
0 3.1748 2.7144
3.1748 0 3.3019
2.7144 3.3019 0
```
阅读全文