Matlab实现网络拓补图

本文介绍了一个具体的图算法案例,展示了如何使用MATLAB进行图的构建、最短路径计算及可视化。通过定义顶点间的连接与权重,利用sparse函数创建稀疏矩阵表示图的关联关系,并运用graphshortestpath函数求解从指定起点到终点的最短路径。
顶点号  顶点号      权值
1        2        400
1        3        450
2        4        300
2        8        230
2        9        140
3        4        600
4        5        210
4        19        310
5        6        230
5        7        200
6        7        320
6        8        340
7        8        170
7        18        160
8        9        200
8        15        285
9        10        180
10        11        150
10        15        160
11        12        140
11        14        130
12        13        200
13        14        400
14        15        190
14        16        190
15        16        170
15        17        250
16        17        140
16        18        130
17        20        240
18        19        204
19        20        140

  ...............

S=NODE(:,1)';
E=NODE(:,2)';
W=NODE(:,3)';
R=sparse(S,E,W);  %关联矩阵的稀疏矩阵表示
R(20,20)=0;
P=biograph(R,[],'ShowWeights','on'); %建立有向图对象P
H=view(P); %显示各个路径权值
[Dist,Path]=graphshortestpath(R,1,20) %求节点1到节点20的最短路径
set(H.Nodes(Path),'Color',[1 0.4 0.4]);%以下三条语句用红色修饰最短路径
edges=getedgesbynodeid(H,get(H.Nodes(Path),'ID'));
set(edges,'LineColor',[1 0 0]);

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值