function [route, totalDistance] = calculateTourDistance(adjacencyMatrix, startCity) % 计算从指定城市出发,遍历所有城市一次后返回起点的路径距离 % 输入:adjacencyMatrix - 城市间距离的邻接矩阵 % startCity - 起始城市的编号 % 输出:route - 遍历路径 % totalDistance - 总路径长度 numCities = size(adjacencyMatrix, 1); % 创建除起始城市外的城市列表 otherCities = setdiff(1:numCities, startCity); % 随机排列其他城市(这里不要求最优路径) otherCities = otherCities(randperm(length(otherCities))); % 创建完整路径 route = [startCity, otherCities, startCity]; % 计算总路径距离 totalDistance = 0; for i = 1:length(route)-1 totalDistance = totalDistance + adjacencyMatrix(route(i), route(i+1)); end end