MATLAB画路径图(带结点,不同颜色的路径)

MATLAB画路径图测试数据该链接仅有以下三幅图的数据

MATLAB画路径图全部数据该链接是建模时所有的代码

没有积分的留言邮箱,看到后资源发送邮箱。

百度网盘地址:链接:https://pan.baidu.com/s/1YwW6bZe8kUtpTwqKODyJ8g
提取码:v8d7

clc
clear

A = xlsread('adjoin.xlsx'); %% 所有点之间的连接关系,若相连表示为1
B = xlsread('pos.xlsx');%% 所有点的坐标位置,对应的是一个二维坐标
C1 = xlsread('ALinepath1.xlsx');%% 到达目的地的经过的点
C2 = xlsread('BLinepath1.xlsx');%% 同上
C3 = xlsread('CLinepath1.xlsx');%% 同上

//最短路
cnt1 = 1;
for i = 1:6
    for j = 1:6
        if (C1(i,j) > 0&& C1(i,j + 1) > 0)
          D1(cnt1,1) = C1(i,j);
          D1(cnt1,2) = C1(i,j +1);
          cnt1 = cnt1 + 1;
        end
    end
end

//同上 

cnt2 = 1;
for i = 1:6
    for j = 1:6
        if (C2(i,j) > 0&& C2(i,j + 1) > 0)
          D2(cnt2,1) = C2(i,j);
          D2(cnt2,2) = C2(i,j +1);
          cnt2 = cnt2 + 1;
        end
    end
end

//同上 

cnt3 = 1;
for i = 1:12
    for j = 1:6
        if (C3(i,j) > 0&& C3(i,j + 1) > 0)
          D3(cnt3,1) = C3(i,j);
          D3(cnt3,2) = C3(i,j +1);
          cnt3 = cnt3 + 1;
        end
    end
end

 
figure(1)
gplot(A,B,'-o');
hold on
line([B(69,1) B(70,1)] , [B(69,2) B(70,2)],'color','r');
line([B(D1(1,1),1) B(D1(1,2),1)] , [B(D1(1,1),2)B(D1(1,2),2)],'color','c');
hold on

for l = 69:78
    line([B(l,1) B(l + 1,1)] ,[B(l,2) B(l + 1,2)],'color','r');
    line([B(l,1)+0.5 B(l +1,1)+0.5] , [B(l,2) B(l + 1,2)],'color','r');
end
hold on

for l = 80:87
   line([B(l,1) B(l + 1,1)] ,[B(l,2) B(l + 1,2)],'color','r');
   line([B(l,1)+0.5 B(l + 1,1)+0.5], [B(l,2) B(l + 1,2)],'color','r');
end
hold on

for k = 1:cnt1 - 1
    line([B(D1(k,1),1)B(D1(k,2),1)] , [B(D1(k,1),2) B(D1(k,2),2)],'color','c');
end
hold on

for i = 1:130
    x(i) = B(i,1);
end

for i = 1:130
    y(i) = B(i,2);
end

//需要显示的label
ch = {'D1';'D2';'Z1';'Z2';'Z3';'Z4';'Z5';'Z6';'F1';'F2';'F3';'F4';'F5';'F6';'F7';'F8';'F9';'F10';'F11';'F12';'F13';'F14';'F15';'F16';'F17';'F18';'F19';'F20';'F21';'F22';'F23';'F24';'F25';'F26';'F27';'F28';'F29';'F30';'F31';'F32';'F33';'F34';'F35';'F36';'F37';'F38';'F39';'F40';'F41';'F42';'F43';'F44';'F45';'F46';'F47';'F48';'F49';'F50';'F51';'F52';'F53';'F54';'F55';'F56';'F57';'F58';'F59';'F60';'J1';'J2';'J3';'J4';'J5';'J6';'J7';'J8';'J9';'J10';'J11';'J12';'J13';'J14';'J15';'J16';'J17';'J18';'J19';'J20';'J21';'J22';'J23';'J24';'J25';'J26';'J27';'J28';'J29';'J30';'J31';'J32';'J33';'J34';'J35';'J36';'J37';'J38';'J39';'J40';'J41';'J42';'J43';'J44';'J45';'J46';'J47';'J48';'J49';'J50';'J51';'J52';'J53';'J54';'J55';'J56';'J57';'J58';'J59';'J60';'J61';'J62';};

for i = 1:130
    text(x(i)+0.01,y(i),ch(i));
end

plot(x(37),y(37),'.','MarkerSize',15,'color','r');
plot(x(38),y(38),'.','MarkerSize',15,'color','r');
plot(x(41),y(41),'.','MarkerSize',15,'color','r');
plot(x(34),y(34),'.','MarkerSize',15,'color','r');
plot(x(58),y(58),'.','MarkerSize',15,'color','r');
plot(x(57),y(57),'.','MarkerSize',15,'color','r');

title('A类发射装置的转载地的分配方案');
legend('结点','主干道','A的分配方案');
hold off

 

figure(2)
gplot(A,B,'-o');
line([B(69,1) B(70,1)] , [B(69,2) B(70,2)],'color','r');
line([B(D2(1,1),1) B(D2(1,2),1)] , [B(D2(1,1),2)B(D2(1,2),2)],'color','g');
hold on

for l = 69:78
    line([B(l,1) B(l + 1,1)] ,[B(l,2) B(l + 1,2)],'color','r');
    line([B(l,1)+0.5 B(l +1,1)+0.5] , [B(l,2) B(l + 1,2)],'color','r');
end
hold on

for l = 80:87
   line([B(l,1) B(l + 1,1)] ,[B(l,2) B(l + 1,2)],'color','r');
   line([B(l,1)+0.5 B(l +1,1)+0.5] , [B(l,2) B(l + 1,2)],'color','r');
end
hold on

for k = 1:cnt2 - 1
    line([B(D2(k,1),1)B(D2(k,2),1)] , [B(D2(k,1),2) B(D2(k,2),2)],'color','g');
end
hold on

for i = 1:130
    x(i) = B(i,1);
end

for i = 1:130
    y(i) = B(i,2);
end

ch = {'D1';'D2';'Z1';'Z2';'Z3';'Z4';'Z5';'Z6';'F1';'F2';'F3';'F4';'F5';'F6';'F7';'F8';'F9';'F10';'F11';'F12';'F13';'F14';'F15';'F16';'F17';'F18';'F19';'F20';'F21';'F22';'F23';'F24';'F25';'F26';'F27';'F28';'F29';'F30';'F31';'F32';'F33';'F34';'F35';'F36';'F37';'F38';'F39';'F40';'F41';'F42';'F43';'F44';'F45';'F46';'F47';'F48';'F49';'F50';'F51';'F52';'F53';'F54';'F55';'F56';'F57';'F58';'F59';'F60';'J1';'J2';'J3';'J4';'J5';'J6';'J7';'J8';'J9';'J10';'J11';'J12';'J13';'J14';'J15';'J16';'J17';'J18';'J19';'J20';'J21';'J22';'J23';'J24';'J25';'J26';'J27';'J28';'J29';'J30';'J31';'J32';'J33';'J34';'J35';'J36';'J37';'J38';'J39';'J40';'J41';'J42';'J43';'J44';'J45';'J46';'J47';'J48';'J49';'J50';'J51';'J52';'J53';'J54';'J55';'J56';'J57';'J58';'J59';'J60';'J61';'J62';};

for i = 1:130
    text(x(i)+0.01,y(i),ch(i));
end

plot(x(43),y(43),'.','MarkerSize',15,'color','r');
plot(x(39),y(39),'.','MarkerSize',15,'color','r');
plot(x(40),y(40),'.','MarkerSize',15,'color','r');
plot(x(11),y(11),'.','MarkerSize',15,'color','r');
plot(x(10),y(10),'.','MarkerSize',15,'color','r');
plot(x(9),y(9),'.','MarkerSize',15,'color','r');

title('B类发射装置的转载地的分配方案');
legend('结点','主干道','B的分配方案');
hold off

 

figure(3)
gplot(A,B,'-o');
line([B(69,1) B(70,1)] , [B(69,2) B(70,2)],'color','r');
line([B(D3(1,1),1) B(D3(1,2),1)] , [B(D3(1,1),2)B(D3(1,2),2)],'color','y');
hold on

for l = 69:78
    line([B(l,1) B(l + 1,1)] ,[B(l,2) B(l + 1,2)],'color','r');
    line([B(l,1)+0.5 B(l +1,1)+0.5] , [B(l,2) B(l + 1,2)],'color','r');
end
hold on

for l = 80:87
   line([B(l,1) B(l + 1,1)] ,[B(l,2) B(l + 1,2)],'color','r');
   line([B(l,1)+0.5 B(l +1,1)+0.5] , [B(l,2) B(l + 1,2)],'color','r');
end
hold on

for k = 1:cnt3 - 1
    line([B(D3(k,1),1)B(D3(k,2),1)] , [B(D3(k,1),2) B(D3(k,2),2)],'color','y');
end
hold on

for i = 1:130
    x(i) = B(i,1);
end

for i = 1:130
    y(i) = B(i,2);
end

ch ={'D1';'D2';'Z1';'Z2';'Z3';'Z4';'Z5';'Z6';'F1';'F2';'F3';'F4';'F5';'F6';'F7';'F8';'F9';'F10';'F11';'F12';'F13';'F14';'F15';'F16';'F17';'F18';'F19';'F20';'F21';'F22';'F23';'F24';'F25';'F26';'F27';'F28';'F29';'F30';'F31';'F32';'F33';'F34';'F35';'F36';'F37';'F38';'F39';'F40';'F41';'F42';'F43';'F44';'F45';'F46';'F47';'F48';'F49';'F50';'F51';'F52';'F53';'F54';'F55';'F56';'F57';'F58';'F59';'F60';'J1';'J2';'J3';'J4';'J5';'J6';'J7';'J8';'J9';'J10';'J11';'J12';'J13';'J14';'J15';'J16';'J17';'J18';'J19';'J20';'J21';'J22';'J23';'J24';'J25';'J26';'J27';'J28';'J29';'J30';'J31';'J32';'J33';'J34';'J35';'J36';'J37';'J38';'J39';'J40';'J41';'J42';'J43';'J44';'J45';'J46';'J47';'J48';'J49';'J50';'J51';'J52';'J53';'J54';'J55';'J56';'J57';'J58';'J59';'J60';'J61';'J62';};

for i = 1:130
    text(x(i)+0.01,y(i),ch(i));
end
hold on

plot(x(51),y(51),'.','MarkerSize',15,'color','r');
plot(x(66),y(66),'.','MarkerSize',15,'color','r');
plot(x(65),y(65),'.','MarkerSize',15,'color','r');
plot(x(50),y(50),'.','MarkerSize',15,'color','r');
plot(x(49),y(49),'.','MarkerSize',15,'color','r');
plot(x(32),y(32),'.','MarkerSize',15,'color','r');
plot(x(33),y(33),'.','MarkerSize',15,'color','r');
plot(x(55),y(55),'.','MarkerSize',15,'color','r');
plot(x(54),y(54),'.','MarkerSize',15,'color','r');
plot(x(52),y(52),'.','MarkerSize',15,'color','r');
plot(x(53),y(53),'.','MarkerSize',15,'color','r');
plot(x(42),y(42),'.','MarkerSize',15,'color','r');

legend('结点','主干道','C的分配方案');
title('C类发射装置的转载地的分配方案');
hold off


 

  • 19
    点赞
  • 152
    收藏
    觉得还不错? 一键收藏
  • 95
    评论
蚁群算法是一种用于解决优化问题的启发式搜索算法,其灵感来源于蚂蚁在寻找食物过程中的行为。蚁群算法通过模拟蚂蚁在寻找最短路径时释放信息素的行为,以达到寻找最优解的目的。 蚁群算法可以在MATLAB中用于路径规划问题。首先,需要定义问题的目标函数和约束条件。目标函数可以是路径的总长度、路径的时间或其他性能指标。约束条件可以包括不可行的路径结点的利用率限制等。 然后,需要初始化一个蚁群并为每只蚂蚁设置一个起点。每只蚂蚁根据信息素浓度和启发函数来选择下一步的移动方向。信息素浓度表示路径上的信息素量,启发函数则表示路径上各结点之间的关联性。 蚂蚁在移动过程中会释放信息素,信息素的浓度会根据路径的优劣不断更新。信息素的更新规则可以根据问题的特点进行自定义。通常,信息素的浓度会受到蚂蚁选择的路径的长度和问题的全局最优解的影响。 蚁群算法的迭代过程会持续进行,直到满足停止条件。在每次迭代中,蚂蚁会根据概率选择下一步的移动方向,并更新信息素浓度。最终,蚂蚁会找到一条满足约束条件的路径。 最后,可以通过分析蚂蚁的路径选择和信息素浓度的变化来得到最优解。根据问题的具体情况,我们可以对蚁群算法进行调整和改进,以获得更好的路径规划结果。 总之,蚁群算法是一种适用于路径规划问题的优化算法,在MATLAB中可以应用于不同的场景,通过模拟蚂蚁在寻找食物过程中的行为,帮助我们寻找最优路径
评论 95
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值