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)
入力引数
ノード識別子。1 つ以上のノード インデックスまたはノード名として指定します。nodeIDs
は G
のノードの一部を選択し、部分グラフ H
を生成します。
次の表に、1 つ以上のノードを数値ノード インデックスまたはノード名のいずれかで参照するさまざまな方法を示します。
形式 | 単一ノード | 複数ノード |
---|---|---|
ノード インデックス | スカラー 例: | ベクトル 例: |
ノード名 | 文字ベクトル 例: | 文字ベクトルの cell 配列 例: |
string スカラー 例: | string 配列 例: |
例: H = subgraph(G,[1 2 5])
例: H = subgraph(G,{'A' 'B' 'E'})
ノード選択ベクトル。logical ベクトルとして指定します。部分グラフには、idx(J)
が logical 1
(true
) であるノード J
のみが含まれます。H
のノード J
のインデックスは I(J)
で、I = find(idx)
です。
例: subgraph(G,degree(G)>2)
データ型: logical
出力引数
拡張機能
使用上の注意および制限:
ノード識別子
nodeIDs
は、入力グラフG
のノード インデックスでなければなりません。ノード名はサポートされていません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
バージョン履歴
R2015b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)