Добавьте новое ребро в график
Добавьте два новых ребра в существующий график. Поскольку одно из новых ребер ссылается на узел, который не существует, 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
пользовательский класс
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.