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]
など)。ノード名の文字ベクトルの cell 配列または string 配列 (
{'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)