文章目录
1. 地图绘制2. 计算各节点之间的距离3. Dijkstra(迪杰斯特拉)算法4. 根据计算出的距离利用Dijkstra(迪杰斯特拉)算法找出指定节点之间的最短路径工程文件(可直接运行)
1. 地图绘制
利用MATLAB绘制地图需要三个基本数据:
节点节点坐标 节点间相通的路线
以11B交通巡警平台调度问题中的A区数据为例: (数据及工程文件下载链接见文末) Demo1:
clc,clear,close all
load zones_xy_data.mat
load data2_stripped.mat %第一问封锁路口标号
load data2_A.mat
load data4_A.mat
x_1 = [xy_data(:,1),xy_data(:,2),xy_data(:,3)]; %全市交通路口节点标号,x坐标,y坐标
x_2 = [data2_A(:,1),data2_A(:,2)]; %A区交通路口的路线
x_3 = data4_A(:,1); %A区出入口
xx = zeros(582,1);
xy = zeros(582,1);
for i=1:92
xx(i)=x_1(i,2);
xy(i)=x_1(i,3);
%描点
hold on
if i |