График с ориентированными ребрами
Объекты digraph
представляют ориентированных графов, которые имеют направленные края, соединяющие узлы. После того, как вы создадите объект digraph
, можно узнать больше о графике при помощи объектных функций, чтобы выполнить запросы против объекта. Например, можно добавить или удалить узлы или края, определить кратчайший путь между двумя узлами или определить местоположение определенного узла или края.
G = digraph([1 1], [2 3]) e = G.Edges G = addedge(G,2,3) G = addnode(G,4) plot(G)
G = digraph
G = digraph(A)
G = digraph(A,nodenames)
G = digraph(A,NodeTable)
G = digraph(A,___,'omitselfloops')
G = digraph(s,t)
G = digraph(s,t,weights)
G = digraph(s,t,weights,nodenames)
G = digraph(s,t,weights,NodeTable)
G = digraph(s,t,weights,num)
G = digraph(s,t,___,'omitselfloops')
G = digraph(s,t,EdgeTable,___)
G = digraph(EdgeTable)
G = digraph(EdgeTable,NodeTable)
G = digraph(EdgeTable,___,'omitselfloops')
создает пустой объект ориентированного графа, G = digraph
G
, который не имеет никаких узлов или краев.
создает взвешенного ориентированного графа с помощью квадратной матрицы смежности, G = digraph(A)
A
. Местоположение каждой ненулевой записи в A
задает край для графика, и вес края равен значению записи. Например, если A(2,1) = 10
, то G
содержит край от узла 2 к узлу 1 с весом 10.
дополнительно задает имена узла. Число элементов в G = digraph(A,nodenames)
nodenames
должно быть равно size(A,1)
.
задает имена узла (и возможно другие атрибуты узла) использование таблицы, G = digraph(A,NodeTable)
NodeTable
. Таблица должна иметь то же количество строк как A
. Задайте имена узла с помощью табличной переменной Name
.
игнорирует диагональные элементы G = digraph(A,___,'omitselfloops')
A
и возвращает график без любых самоциклов. Можно использовать любую из комбинаций входных аргументов в предыдущих синтаксисах.
задает края ориентированного графа G = digraph(s,t)
(s,t)
в парах, чтобы представлять входные и выходные узлы. s
и t
могут задать индексы узла или имена узла.
также задает вес ребра с массивом G = digraph(s,t,weights)
weights
.
дополнительно задает имена узла с помощью массива ячеек из символьных векторов или массива строк, G = digraph(s,t,weights,nodenames)
nodenames
. s
и t
не могут содержать имена узла, которые не находятся в nodenames
.
задает имена узла (и возможно другие атрибуты узла) использование таблицы, G = digraph(s,t,weights,NodeTable)
NodeTable
. Задайте имена узла с помощью табличной переменной Name
. s
и t
не могут содержать имена узла, которые не находятся в NodeTable
.
задает количество узлов в графике с числовым скаляром G = digraph(s,t,weights,num)
num
.
не добавляет самоциклов к графику. Таким образом, любой G = digraph(s,t,___,'omitselfloops')
k
, который удовлетворяет s(k) == t(k)
, проигнорирован. Можно использовать любую из комбинаций входных аргументов в предыдущих синтаксисах.
использует таблицу, чтобы задать граничные атрибуты вместо того, чтобы задать G = digraph(s,t,EdgeTable,___)
weights
. Входной параметр EdgeTable
должен быть таблицей со строкой для каждой соответствующей пары элементов в s
и t
. Задайте вес ребра с помощью табличной переменной Weight
.
использует таблицу G = digraph(EdgeTable)
EdgeTable
, чтобы задать график. С этим синтаксисом первую переменную в EdgeTable
нужно назвать EndNodes
, и это должен быть массив двух-столбца, задающий список краев графика.
дополнительно задает имена (и возможно другие атрибуты) вершин графика с помощью таблицы, G = digraph(EdgeTable,NodeTable)
NodeTable
.
не добавляет самоциклы к графику. Таким образом, любой G = digraph(EdgeTable,___,'omitselfloops')
k
, который удовлетворяет EdgeTable.EndNodes(k,1) == EdgeTable.EndNodes(k,2)
, проигнорирован. Вы должны задать EdgeTable
и опционально можете задать NodeTable
.