我有四个1-by-n
矩阵。前两个矩阵表示n
平面中2D
点的位置(位置的x和y分量)。后两个矩阵代表n
平面中另一个2D
点的位置。
我想创建一个n-by-n
矩阵(比如说M
),其中M(i,j)
是第一个矩阵中点i
与点j
之间的距离在第二个矩阵中。
有人可以帮忙吗?任何答案都非常感谢。
答案 0 :(得分:1)
您可以使用pdist2
执行此操作(请参阅documentation):
x1=[1,2,3,4,5];
y1=[6,7,8,9,10];
x2=[1,1,1,1,2];
y2=[8,3,1,2,3];
mat1=[x1',y1'];
mat2=[x2',y2'];
M = pdist2(mat1,mat2)
答案 1 :(得分:0)
另一种方法是使用bsxfun
手动计算距离:
M = sqrt(bsxfun(@minus, x1(:), x2(:).').^2 + bsxfun(@minus, y1(:), y2(:).').^2);