- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
13.3MATLAB求解;在MATLAB中利用函数graph和minspantree来求最小生成树,调用格式如下:
G=graph(A)
使用对称邻接方阵A创建一个加权图.A中的每个非零元素的位置指定图的一条边,边的权重等于该项的值.例如,如果A(2,1)=10,则G包含节点2和节点1之间的一条边,该边的权重为10.
T?=minspantree(G)?返回图?G?的最小生成树?T,默认使用Prim算法
T?=minspantree(G,Name,Value)?使用一个或多个名称-值对组参数指定的其他选项
其中G由函数graph得到的图,minspantree(G,Method,sparse)?使用Kruskal的算法来计算最小生成树.;例13.5绘制无向图,并增加边和顶点.
G=graph([11],[23]);%创建一个具有3个顶点和2条边的图
e=G.Edges
G=addedge(G,2,3)
G=addnode(G,4)
plot(G)
e=
2×1table
EndNodes
________
12
13;G=
graph-属性:
Edges:[3×1table]
Nodes:[3×0table]
G=
graph-属性:
Edges:[3×1table]
Nodes:[7×0table]
得到无向图见图13-6.;例13.6创建一个对称邻接矩阵?A,该矩阵用于创建4阶完整图.使用邻接矩阵创建不带权重的图.
解A=ones(4)-diag([1111])
A=
0111
1011
1101
1110
G=graph(A~=0)
G=
graph-属性:
Edges:[6×1table]%6条边
Nodes:[4×0table]%4个节点;G.Edges
ans=
6×1table
EndNodes
________
12
13
14
23
24
34
plot(G)
得到无向无权图见图13-7.;例13.7绘制一个赋权无向图.
解A=[0,1,2;103;230]%一个赋权图的邻接矩阵
A=
012
103
230
G=graph(A)
G=
graph-属性:
Edges:[3×2table]
Nodes:[3×0table];G.Edges%显示边的信息
ans=
3×2table
EndNodesWeight%3条边及对应的权重
______________
121
132
233
plot(G,EdgeLabel,G.Edges.Weight)
得到赋权无向图如图13-8.;例13.8使用每条边的端节点列表创建并绘制一个立方体图.将节点名称和边权重指定为单独的输入.
解s=[111223345567];
t=[248374656878];
weights=[10101101101112121212];
names={ABCDEFGH};
G=graph(s,t,weights,names);
plot(G,EdgeLabel,G.Edges.Weight)
得到图形如图13-9所示.;例13.9利用MATLAB求解图13-3的最小生成树.
解A=[0675;6083;7809;5390];%图13-3的赋权邻接矩阵
G=graph(A
文档评论(0)