addedge

Добавьте новый край к графику

Синтаксис

H = addedge(G,s,t)
H = addedge(G,s,t,w)
H = addedge(G,s,t,EdgeTable)
H = addedge(G,EdgeTable)

Описание

пример

H = addedge(G,s,t) добавляет край, чтобы изобразить в виде графика G между узлами s и t. Если узел, заданный s или t, не присутствует в G, то тот узел добавляется. Новый график, H, эквивалентен G, но включает новый край и любые необходимые новые узлы.

пример

H = addedge(G,s,t,w) также задает веса, w, для краев между s и t.

H = addedge(G,s,t,EdgeTable) добавляет края между узлами s и t с атрибутами, заданными таблицей, EdgeTable.

пример

H = addedge(G,EdgeTable) добавляет края с атрибутами, заданными таблицей, EdgeTable. Входной параметр EdgeTable должен смочь быть конкатенированным с G.Edges Края.

Примеры

свернуть все

Добавьте два новых края к существующему графику. Поскольку один из новых краев ссылается на узел, который не существует, addedge автоматически добавляет необходимый четвертый узел к графику.

G = graph([1 2],[2 3])
G = 
  graph with properties:

    Edges: [2x1 table]
    Nodes: [3x0 table]

G = addedge(G,[2 1],[4 3])
G = 
  graph with properties:

    Edges: [4x1 table]
    Nodes: [4x0 table]

Создайте ориентированного графа со взвешенными краями.

G = digraph({'A' 'B' 'C'}, {'D' 'C' 'D'}, [10 20 45])
G = 
  digraph with properties:

    Edges: [3x2 table]
    Nodes: [4x1 table]

Добавьте три новых взвешенных края к графику. addedge также автоматически добавляет любые необходимые новые узлы к графику.

G = addedge(G, {'A' 'D' 'E'}, {'E' 'B' 'D'}, [5 30 5])
G = 
  digraph with properties:

    Edges: [6x2 table]
    Nodes: [5x1 table]

Создайте график, края которого имеют атрибуты Weight и Power. Используйте граничную таблицу, чтобы создать график.

EdgeTable = table([1 2; 2 3; 2 4; 2 5; 5 6; 5 7; 5 8], ...
    {'on','off','off','on','on','on','off'}',[10 20 20 10 10 10 20]', ...
    'VariableNames',{'EndNodes','Power','Weight'});
G = graph(EdgeTable)
G = 
  graph with properties:

    Edges: [7x3 table]
    Nodes: [8x0 table]

Добавьте два новых края к графику путем составления меньшей таблицы, которая может быть конкатенирована к G.Edges Края. Обратите внимание на то, что эта меньшая таблица должна использовать тот же порядок переменных как G.Edges Края.

NewEdges = table([5 9; 3 6], {'on' 'off'}', [10 20]', ...
    'VariableNames',{'EndNodes','Power','Weight'});
G = addedge(G,NewEdges)
G = 
  graph with properties:

    Edges: [9x3 table]
    Nodes: [9x0 table]

Просмотрите новый список краев графика, который включает добавленные края.

G.Edges
ans=9×3 table
    EndNodes    Power    Weight
    ________    _____    ______

     1    2     'on'       10  
     2    3     'off'      20  
     2    4     'off'      20  
     2    5     'on'       10  
     3    6     'off'      20  
     5    6     'on'       10  
     5    7     'on'       10  
     5    8     'off'      20  
     5    9     'on'       10  

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

свернуть все

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

Пример: G = график (1,2)

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

Пары узла, заданные в качестве отдельных аргументов индексов узла или имен узла. Столь же расположенные элементы в s и t задают входные и выходные узлы для краев в графике.

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

ФормаЕдинственный узелНесколько узлов
Индекс узла

Скаляр

Пример 1

Вектор

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

Имя узла

Символьный вектор

Пример: A

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

Пример: A, B, C

Скаляр строки

Пример: A

StringArray

Пример: A, B, C

Пример: G = addedge (G, [1 2], [3 4]) добавляет два края к графику: один от узла 1 к узлу 3, и один от узла 2 к узлу 4.

Пример: G = addedge (G, {'a'; 'b' 'c'}, {'b' 'c'; 'c' 'e'}), добавляют четыре края к графику, первый из которых идет от до 'b'.

Вес ребра, заданный как скаляр, вектор или матрица.

  • Если w является скалярным или вектором - строкой, то это - скаляр, расширенный, чтобы задать вес для каждого края в s и t.

  • Если w является вектором - столбцом, то он должен иметь ту же длину как s(:) и t(:).

  • Если w является матрицей, то он должен иметь то же число элементов как s(:) и t(:).

Пример: G = addedge (G, [2 2], [4 5], [1 100]') добавляет два края с весами 1 и 100.

Типы данных: single | double
Поддержка комплексного числа: Да

Граничные атрибуты, заданные как таблица. Если вы не задаете s и t, чтобы задать добавляемые края графика, то первая переменная в EdgeTable требуется, чтобы быть матрицей двух-столбца под названием EndNodes, который задает добавляемые края графика.

EdgeTable должен иметь эти общие свойства:

  • Для взвешенных графиков EdgeTable должен содержать переменный Weight.

  • Если график имеет другие граничные атрибуты, то EdgeTable должен содержать все те же переменные как G.Edges, чтобы гарантировать совместимость.

  • Порядок переменных в EdgeTable должен совпасть с порядком G.Edges Края.

Типы данных: таблица

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

свернуть все

Выведите график, возвращенный как объект graph или digraph.

Введенный в R2015b

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