Files
MATLAB3/calculateDistanceMatrix.m
2025-03-26 20:08:20 +08:00

23 lines
800 B
Matlab
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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