Изменение узлов и краев существующего графика

Этот пример показывает, как получить доступ и изменить узлы и/или края в объекте 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. Для получения дополнительной информации смотрите, Создают и Переменные Редактирования.

Смотрите также

| | | | | | | |

Похожие темы

Была ли эта тема полезной?