Этот пример показывает, как получить доступ и изменить узлы и/или ребра в объекте graph
или digraph
с помощью addedge
, rmedge
, addnode
, rmnode
, findedge
, findnode
и функций subgraph
.
Создайте график с четырьмя узлами и четырьмя ребрами. Соответствующие элементы в s
и t
задают конечные узлы каждого ребра графика.
s = [1 1 1 2]; t = [2 3 4 3]; G = graph(s,t)
G = graph with properties: Edges: [4x1 table] Nodes: [4x0 table]
Просмотрите список ребер графика.
G.Edges
ans=4×1 table
EndNodes
________
1 2
1 3
1 4
2 3
Используйте addnode
, чтобы добавить пять узлов в график. Эта команда добавляет пять разъединенных узлов с идентификаторами узла 5
, 6
, 7
, 8
и 9
.
G = addnode(G,5)
G = graph with properties: Edges: [4x1 table] Nodes: [9x0 table]
Используйте rmnode
, чтобы удалить узлы 3, 5, и 6 из графика. Также удалены все ребра, соединенные с одним из удаленных узлов. Остающиеся шесть узлов в графике перенумерованы, чтобы отразить новое количество узлов.
G = rmnode(G,[3 5 6])
G = graph with properties: Edges: [2x1 table] Nodes: [6x0 table]
Используйте addedge
, чтобы добавить два ребра в G
. Первое ребро между узлом 1 и узлом 5, и второе ребро между узлом 2 и узлом 5. Эта команда добавляет две новых строки в G.Edges
.
G = addedge(G,[1 2],[5 5])
G = graph with properties: Edges: [4x1 table] Nodes: [6x0 table]
Используйте rmedge
, чтобы удалить ребро между узлом 1 и узлом 3. Эта команда удаляет строку из G.Edges
.
G = rmedge(G,1,3)
G = graph with properties: Edges: [3x1 table] Nodes: [6x0 table]
Определите индекс ребра для ребра между узлами 1 и 5. Индекс ребра, ei
, является номером строки в G.Edges
.
ei = findedge(G,1,5)
ei = 2
Добавьте имена узла в график, и затем определите индекс узла для узла 'd'
. Числовой индекс узла, ni
, является номером строки в G.Nodes
. Можно использовать и ni
и имя узла, 'd'
, чтобы относиться к узлу при использовании других функций графика, как shortestpath
.
G.Nodes.Name = {'a' 'b' 'c' 'd' 'e' 'f'}'; ni = findnode(G,'d')
ni = 4
Используйте subgraph
, чтобы извлечь часть графика, содержащего только два узла.
H = subgraph(G,[1 2])
H = graph with properties: Edges: [1x1 table] Nodes: [2x1 table]
Просмотрите список ребер подграфа.
H.Edges
ans=1×1 table
EndNodes
__________
'a' 'b'
Информация об узле и ребре для объекта диаграмм содержится в двух свойствах: Nodes
и Edges
. Оба из этих свойств являются таблицами содержащие переменные, чтобы описать атрибуты узлов и ребер в графике. Поскольку Nodes
и Edges
являются оба таблицами, можно использовать редактор Переменных, чтобы в интерактивном режиме просмотреть или отредактировать таблицы. Вы не можете добавить или удалить узлы или ребра с помощью редактора Переменных, и вы также не можете отредактировать свойство EndNodes
таблицы Edges
. Редактор Переменных полезен для управления дополнительный узел и атрибуты ребра в таблицах Nodes
и Edges
. Для получения дополнительной информации смотрите, Создают и Переменные Редактирования.
addedge
| addnode
| digraph
| findedge
| findnode
| graph
| rmedge
| rmnode
| subgraph