MATLAB计算一组坐标点的相互距离(pdist、squareform、pdist2函数)

如果有一组坐标P(X,Y),包含多个点的X和Y坐标,计算其坐标点之间的相互距离

一、坐标点

P=[1 1;5 2;3 6;8 8;4 5;5 1; 6 9];

二、pdist函数

输出的结果是一维数组,获得任意两个坐标之间的距离,但没有对应关系

D=pdist(P)

在这里插入图片描述

三、squareform()函数

获取第i和第j个坐标之间的距离

Z = squareform(D)

Z(i,j)即为第i和第j个坐标之间的距离。
在这里插入图片描述

四、pdist2()函数

可直接得到Z矩阵

P=[1 1;5 2;3 6;8 8;4 5;5 1; 6 9];
z=pdist2(P,P)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/iii66yy/article/details/132217317