ismultigraph

Определите, имеет ли график несколько ребер

Синтаксис

tf = ismultigraph(G)

Описание

пример

tf = ismultigraph(G) возвращает логический 1 (true), если G имеет несколько ребер между какими-либо двумя узлами. В противном случае возвращается логический 0 (false).

Условно, ismultigraph возвращает логический 0 (false) для графиков, которые содержат самоциклы, но никакие повторные ребра. Однако график с несколькими самоциклами считается мультиграфом.

Примеры

свернуть все

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

Создайте график.

G = graph([1 1 1 1 1 2 2 2],[2 2 3 4 5 6 7 8]);
plot(G)

Проверяйте, чтобы видеть, является ли G мультиграфом. Результатом является логический 1 (true), потому что существует два ребра между узлами 1 и 2.

tf = ismultigraph(G)
tf = logical
   1

Используйте ismultigraph, чтобы определить, должен ли график быть упрощен.

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

Чтобы продемонстрировать это, создайте пустой график и матрицу с двумя столбцами случайных чисел. Поскольку случайные числа только между 1 и 5, эти данные производят несколько ребер.

G = graph;
rng default % for reproducibility
X = randi(5,15,2)
X = 15×2

     5     1
     5     3
     1     5
     5     4
     4     5
     1     4
     2     1
     3     5
     5     5
     5     4
      ⋮

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

G = addedge(G,X(:,1),X(:,2));
plot(G)

Протестируйте, чтобы видеть, является ли график мультиграфом и, если это, используйте simplify, чтобы удалить повторенные ребра и самоциклы.

if ismultigraph(G)
    G = simplify(G);
end

Постройте получившийся график.

plot(G)

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

свернуть все

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

Пример: G = graph(1,2)

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

Введенный в R2018a