rmedge

Удалите ребро из графика

Синтаксис

H = rmedge(G,s,t)
H = rmedge(G,idx)

Описание

пример

H = rmedge(G,s,t) удаляет ребра, заданные парами узла s и t из графика G. Если существует несколько ребер, заданных s и t, то они все удалены.

пример

H = rmedge(G,idx) задает который ребра удалить с индексами ребра idx. Индексы ребра являются номерами строк в таблице G.Edges.

Примеры

свернуть все

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

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

Удалите несколько ребер из графика и постройте результат.

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

Создайте график и просмотрите список ребер.

s = {'BOS' 'NYC' 'NYC' 'NYC' 'LAX'};
t = {'NYC' 'LAX' 'DEN' 'LAS' 'DCA'};
G = digraph(s,t);
G.Edges
ans=5×1 table
       EndNodes   
    ______________

    'BOS'    'NYC'
    'NYC'    'LAX'
    'NYC'    'DEN'
    'NYC'    'LAS'
    'LAX'    'DCA'

Удалите ребро между узлами 'NYC' и 'DEN' с помощью индекса ребра.

G = rmedge(G,3);
G.Edges
ans=4×1 table
       EndNodes   
    ______________

    'BOS'    'NYC'
    'NYC'    'LAX'
    'NYC'    'LAS'
    'LAX'    'DCA'

Этот пример показывает, как удалить все самоциклы из графика. Самоциклы являются ребрами, которые соединяют узел с собой.

Создайте график, который имеет два самоцикла.

G = graph([1 1 1 2],[1 2 3 2]);
plot(G)

Используйте rmedge, чтобы удалить все самоциклы из графика. Даже при том, что G имеет только два самоцикла, этот метод удаляет все самоциклы из любого направленного или неориентированного графа.

G = rmedge(G, 1:numnodes(G), 1:numnodes(G));
plot(G)

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

свернуть все

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

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

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

Пары узла, заданные в качестве отдельных аргументов индексов узла или имен узла. Столь же расположенные элементы в s и t задают входные и выходные узлы для ребер в графике.

Эта таблица показывает различные способы относиться к одному или нескольким узлам или их числовыми индексами узла или их именами узла.

ФормаОдин узелНесколько узлов
Индекс узла

Скаляр

Пример 1

Вектор

Пример: [1 2 3]

Имя узла

Символьный вектор

Пример: 'A'

Массив ячеек из символьных векторов

Пример: {'A' 'B' 'C'}

Скаляр строки

Пример: "A"

StringArray

Пример: ["A" "B" "C"]

Пример: G = rmedge(G,1,2) удаляет ребро между узлом 1 и узлом 2 из графика G.

Пример: G = rmedge(G,{'a' 'b'},{'d' 'c'}) удаляет два ребра из графика G, первым из которых является между узлом 'a' и узлом 'd'.

Индексы ребра, заданные как скаляр или вектор. Индексы ребра являются неотрицательными целыми числами, которые являются номерами строк в таблице G.Edges.

Пример: G = rmedge(G,[1 3 5]) удаляет первые, третьи, и пятые ребра (строки) из G.Edges.

Выходные аргументы

свернуть все

Выведите график, возвращенный как объект graph или digraph.

Введенный в R2015b