reordernodes
对图节点重新排序
说明
示例
对图节点重新排序
创建并绘制一个图。
s = [1 1 1 2 5 3 6 4 7 8 8 8]; t = [2 3 4 5 3 6 4 7 2 6 7 5]; G = graph(s,t); plot(G)
使用置换向量对图节点重新排列。
order = [7 2 3 4 8 1 5 6]; G = reordernodes(G,order); plot(G)
按度数对图节点重新排序
创建并绘制一个加权图。
s = [1 1 1 2 2 2 2 3 4];
t = [3 4 2 3 4 5 6 5 6];
weights = [6 7 6 3 2 8 7 1 1];
G = digraph(s,t,weights);
plot(G,'EdgeLabel',G.Edges.Weight)
根据出度对图节点重新排列,例如节点 1 具有最大出度。
[~,order] = sort(outdegree(G),'descend')
order = 6×1
2
1
3
4
5
6
[H,idx] = reordernodes(G,order);
plot(H,'EdgeLabel',H.Edges.Weight)
idx
值描述 G.Edges
中行的置换。使用 Weight
变量确认此对应关系。
isequal(H.Edges.Weight, G.Edges.Weight(idx))
ans = logical
1
输入参数
order
— 节点顺序
节点索引 | 节点名称
节点顺序,指定为节点索引或节点名称。order
指定 G
的邻接矩阵的对称置换。如果 A = adjacency(G)
,则 A(order,order)
生成 adjacency(H)
。
order
可以是以下项之一:
节点索引的数值向量,例如
[1 3 2]
。节点名称的字符向量元胞数组或字符串数组,例如
{'A' 'C' 'B'}
或["A" "C" "B"]
。
示例: H = reordernodes(G,[3 1 2])
输出参量
H
— 输出图
graph
对象 | digraph
对象
输出图,以 graph
或 digraph
对象形式返回。H
包含的 Nodes
和 Edges
属性与 G
相同,但具有置换后的行 H.Nodes
和 H.Edges
:
H.Nodes
与G.Nodes(order,:)
相同。H.Edges
类似于G.Edges(idx,:)
,不同的是节点经过重新编号。
idx
— 边索引的置换向量
向量
边索引的置换向量,以向量形式返回。idx
中的值描述 G.Edges
中行的置换。
扩展功能
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
版本历史记录
在 R2015b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)