subgraph
部分グラフの抽出
説明
例
部分グラフの抽出
グラフを作成してプロットします。
s = [1 1 1 1 2 2 2 2 2 2 2 2 2 2 15 15 15 15 15]; t = [3 5 4 2 14 6 11 12 13 10 7 9 8 15 16 17 19 18 20]; G = graph(s,t); plot(G,'Layout','force')
含めるノードを指定して、G
から部分グラフを抽出します。部分グラフのノードの番号付けがリセットされます。
idx = [2 15 16 17 18 19 20 1 3 4 5]; H = subgraph(G,idx); plot(H,'Layout','force')
ノードとエッジのプロパティをもつ部分グラフ
名前付きノードをもつ重み付きグラフを作成し、プロットします。
s = [1 1 1 2 2 2 8 8 8 8]; t = [2 3 4 5 6 7 9 10 11 12]; weights = [10 30 40 80 60 60 20 30 90 80]; names = {'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L'}; G = graph(s,t,weights,names); plot(G,'EdgeLabel',G.Edges.Weight)
ノード 'B'
およびその隣接ノードをすべて含む部分グラフを抽出します。subgraph
はノード名とエッジの重みを保持します。ただし、H
の数値ノード ID は、G
と比較して番号付けが再度行われています。
N = neighbors(G,'B'); H = subgraph(G, ['B'; N]); plot(H,'EdgeLabel',H.Edges.Weight)
入力引数
nodeIDs
— ノード識別子
ノード インデックス | ノード名
ノード識別子。1 つ以上のノード インデックスまたはノード名として指定します。nodeIDs
は G
のノードの一部を選択し、部分グラフ H
を生成します。
次の表に、1 つ以上のノードを数値ノード インデックスまたはノード名のいずれかで参照するさまざまな方法を示します。
形式 | 単一ノード | 複数ノード |
---|---|---|
ノード インデックス | スカラー 例: | ベクトル 例: |
ノード名 | 文字ベクトル 例: | 文字ベクトルの cell 配列 例: |
string スカラー 例: | string 配列 例: |
例: H = subgraph(G,[1 2 5])
例: H = subgraph(G,{'A' 'B' 'E'})
idx
— ノード選択ベクトル
ベクトル
ノード選択ベクトル。logical ベクトルとして指定します。部分グラフには、idx(J)
が logical 1
(true
) であるノード J
のみが含まれます。H
のノード J
のインデックスは I(J)
で、I = find(idx)
です。
例: subgraph(G,degree(G)>2)
データ型: logical
出力引数
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
ノード識別子
nodeIDs
は、入力グラフG
のノード インデックスでなければなりません。ノード名はサポートされていません。
バージョン履歴
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)