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 = график (1,2)

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

Представленный в R2018a

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