2017-04-14 323 views
1

我有四個1-by-n矩陣。前兩個矩陣表示2D平面中n點的位置(位置的x和y分量)。後兩個矩陣表示2D平面中另一個n點的位置。2d中的數據之間的距離矩陣Matlab

我想創建一個n-by-n基質(比如M),用於其M(i,j)處於第二矩陣在第一矩陣點i和點j之間的距離。

任何人都可以幫忙嗎?任何答案都非常感謝。

  • n是大量所以我在尋找一種有效的方式

回答

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) 
0

另一種方法是計算手動使用的距離:bsxfun

M = sqrt(bsxfun(@minus, x1(:), x2(:).').^2 + bsxfun(@minus, y1(:), y2(:).').^2);