test
This commit is contained in:
23
calculateDistanceMatrix.m
Normal file
23
calculateDistanceMatrix.m
Normal file
@@ -0,0 +1,23 @@
|
||||
function adjacencyMatrix = calculateDistanceMatrix(positions)
|
||||
% 计算任意两个城市之间的直线距离,返回加权邻接矩阵
|
||||
% 输入:positions - 包含城市坐标的矩阵 (n行3列)
|
||||
% 输出:adjacencyMatrix - n×n的加权邻接矩阵
|
||||
|
||||
% 获取城市数量
|
||||
numCities = size(positions, 1);
|
||||
|
||||
% 初始化邻接矩阵
|
||||
adjacencyMatrix = zeros(numCities, numCities);
|
||||
|
||||
% 计算每对城市之间的欧几里得距离
|
||||
for i = 1:numCities
|
||||
for j = 1:numCities
|
||||
if i ~= j
|
||||
% 计算欧几里得距离
|
||||
dx = positions(i, 2) - positions(j, 2);
|
||||
dy = positions(i, 3) - positions(j, 3);
|
||||
adjacencyMatrix(i, j) = sqrt(dx^2 + dy^2);
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user