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

В этом примере показано, как получить доступ и изменить узлы и/или ребра в 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=table
       EndNodes   
    ______________

    {'a'}    {'b'}

Изменение таблиц узлов и ребер с помощью редактора переменных

Информация о узле и ребре для объекта графика содержится в двух свойствах: Nodes и Edges. Оба эти свойства являются таблицами, содержащими переменные для описания атрибутов узлов и ребер в графике. Начиная с Nodes и Edges являются обеими таблицами, для интерактивного просмотра или редактирования таблиц можно использовать редактор Переменных. Вы не можете добавить или удалить узлы или ребра с помощью редактора Переменных, и вы также не можете редактировать EndNodes свойство Edges таблица. Редактор Переменных полезен для управления дополнительными атрибутами узла и ребра в Nodes и Edges таблицы. Для получения дополнительной информации см. раздел «Создание и редактирование переменных».

См. также

| | | | | | | |

Похожие темы