subgraph

Извлечь подграфик

Описание

пример

H = subgraph(G,nodeIDs) возвращает подграфик G который содержит только узлы, заданные как nodeIDs.

H = subgraph(G,idx) задает узлы подграфика с помощью логического вектора.

Примеры

свернуть все

Создайте и постройте график.

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')

Figure contains an axes. The axes contains an object of type graphplot.

Извлечение подграфика из G путем определения, какие узлы включать. Нумерация узлов в подграфике сброшена.

idx = [2 15 16 17 18 19 20 1 3 4 5];
H = subgraph(G,idx);
plot(H,'Layout','force')

Figure contains an axes. The axes contains an object of type graphplot.

Создайте и постройте график с именованными узлами.

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)

Figure contains an axes. The axes contains an object of type graphplot.

Извлечение подграфика, содержащего узловые 'B' и всех его соседей. subgraph сохраняет имена узлов и веса кромок. Однако числовые идентификаторы узла в H перенумерованы по сравнению с G.

N = neighbors(G,'B');
H = subgraph(G, ['B'; N]);
plot(H,'EdgeLabel',H.Edges.Weight)

Figure contains an axes. The axes contains an object of type graphplot.

Входные параметры

свернуть все

Входной график, заданный как graph или digraph объект. Использование graph для создания неориентированного графа или digraph для создания ориентированного графа.

Пример: G = graph(1,2)

Пример: G = digraph([1 2],[2 3])

Идентификаторы узлов, заданные как один или несколько индексов узлов или имен узлов. nodeIDs выбирает подмножество узлов в G чтобы сгенерировать подграфик, H.

В этой таблице показаны различные способы обращения к одному или нескольким узлам либо по их числовым индексам узлов, либо по их именам узлов.

ФормаОдин узелНесколько узлов
Индекс узла

Скаляр

Пример: 1

Вектор

Пример: [1 2 3]

Имя узла

Вектор символов

Пример: 'A'

Массив ячеек из символьных векторов

Пример: {'A' 'B' 'C'}

Строковый скаляр

Пример: "A"

Строковые массивы

Пример: ["A" "B" "C"]

Пример: H = subgraph(G,[1 2 5])

Пример: H = subgraph(G,{'A' 'B' 'E'})

Вектор выбора узла, заданный как логический вектор. Подграфик содержит только узлы J для чего idx(J) является логическим 1 (true). Индекс узла J в H является I(J), где I = find(idx).

Пример: subgraph(G,degree(G)>2)

Типы данных: logical

Выходные аргументы

свернуть все

Подграфик, возвращенный как graph или digraph объект. H содержит только узлы, выбранные с nodeIDs или idx. Другие узлы в G (и края, соединяющиеся с этими узлами) отбрасываются. Свойства узла и свойства кромок выбранных узлов и ребер переносятся из G в H.

См. graph или digraph для получения дополнительной информации об объектах графика.

Введенный в R2015b