1
我有四個1-by-n
矩陣。前兩個矩陣表示2D
平面中n
點的位置(位置的x和y分量)。後兩個矩陣表示2D
平面中另一個n
點的位置。2d中的數據之間的距離矩陣Matlab
我想創建一個n-by-n
基質(比如M
),用於其M(i,j)
處於第二矩陣在第一矩陣點i
和點j
之間的距離。
任何人都可以幫忙嗎?任何答案都非常感謝。
- n是大量所以我在尋找一種有效的方式
我有四個1-by-n
矩陣。前兩個矩陣表示2D
平面中n
點的位置(位置的x和y分量)。後兩個矩陣表示2D
平面中另一個n
點的位置。2d中的數據之間的距離矩陣Matlab
我想創建一個n-by-n
基質(比如M
),用於其M(i,j)
處於第二矩陣在第一矩陣點i
和點j
之間的距離。
任何人都可以幫忙嗎?任何答案都非常感謝。
你可以做,使用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)
另一種方法是計算手動使用的距離:bsxfun
:
M = sqrt(bsxfun(@minus, x1(:), x2(:).').^2 + bsxfun(@minus, y1(:), y2(:).').^2);