Добавьте новое ребро в график
Добавьте два новых ребра в существующий график. Поскольку одно из новых ребер ссылается на узел, который не существует, 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
s,t — Пары узла (в качестве отдельных аргументов)Пары узла в виде отдельных аргументов индексов узла или имен узла. Столь же расположенные элементы в s и t задайте входные и выходные узлы для ребер в графике.
Если вы добавляете ребра с помощью имен узла, которые уже не присутствуют в графике, то addedge добавляют новые имена узла к нижней части g.Nodes.Name таблица. Если s и t категориальные массивы, затем категории s и t используются в качестве имен узла. Это может включать категории, которые не являются элементами в s или t.
Эта таблица показывает различные способы относиться к одному или нескольким узлам или их числовыми индексами узла или их именами узла.
| Форма | Один узел | Несколько узлов |
|---|---|---|
| Индекс узла | Скаляр Пример 1 | Вектор Пример: |
| Имя узла | Символьный вектор Пример: | Массив ячеек из символьных векторов Пример: |
Скаляр строки Пример: | Массив строк Пример: | |
Категориальный массив Пример:
| Категориальный массив Пример:
|
Пример: G = addedge(G, [1 2], [3 4]) добавляют два ребра к графику: один от узла 1 к узлу 3, и один от узла 2 к узлу 4.
Пример: G = addedge(G, {'a' 'a'; 'b' 'c'}, {'b' 'c'; 'c' 'e'}) добавляют четыре ребра к графику, первое из которых идет от 'a' к 'b'.
w — Вес ребраВес ребра в виде скаляра, вектора или матрицы.
Если w скалярный или вектор-строка, затем это - скаляр, расширенный, чтобы задать вес для каждого ребра в s и t.
Если w вектор-столбец, затем он должен иметь ту же длину как s(:) и t(:).
Если w матрица, затем она должна иметь то же число элементов как s(:) и t(:).
Пример: G = addedge(G, [2 2], [4 5], [1 100]') добавляют два ребра с весами 1 и 100.
Типы данных: single | double
Поддержка комплексного числа: Да
EdgeTable — Атрибуты ребраРебро приписывает в виде таблицы. Если вы не задаете s и t задавать добавляемые ребра графика, затем первая переменная в EdgeTable требуется, чтобы быть матрицей 2D столбца под названием EndNodes это задает добавляемые ребра графика.
EdgeTable должен иметь эти общие свойства:
Для взвешенных графиков, EdgeTable должен содержать переменную Weight.
Если график имеет другие атрибуты ребра, то EdgeTable должен содержать все те же переменные как G.Edges гарантировать совместимость.
Порядок переменных в EdgeTable должен совпасть с тем из G.Edges.
Типы данных: table
Поведение изменяется в R2018a
graph, digraph, и addedge больше не производите ошибки, когда они столкнутся с дублирующимися ребрами. Вместо этого дублирующиеся ребра добавляются к графику, и результатом является мультиграф. ismultigraph функция полезна, чтобы обнаружить эту ситуацию, и simplify обеспечивает простой способ удалить дополнительные ребра.
Указания и ограничения по применению:
Пары узла s и t должны быть индексы узла. Имена узла не поддерживаются.
Вы не можете добавить новые переменные или новые столбцы к G.Edges таблица после объекта диаграмм составлена.
Когда вы создаете graph или digraph объект в MATLAB® и передайте его MEX-функции, сгенерированной с помощью MATLAB Coder™, вы не можете добавить ребра в объект диаграмм.
Свойства ребра должны быть типами данных, которые могут храниться как массивы переменного размера в генерации кода. Например, тип данных не может быть ни одним из них:
массив строк
массив ячеек с различными размерами на каждой ячейке
массив ячеек из символьных векторов, преобразованный с помощью cellstr
пользовательский класс
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.