exponenta event banner

addnode

Добавить новый узел в график

Описание

пример

H = addnode(G,nodeIDs) добавляет узлы, указанные nodeIDs к графику G. Имена узлов в nodeIDs не должны ссылаться на узлы, уже присутствующие в G.

пример

H = addnode(G,numNodes) добавляет ряд новых узлов в G равно numNodes. Если G содержит узлы с именами, затем новым узлам присваиваются последовательные имена, указывающие на размещение их строк в G.Nodes.Name. Например, 'Node5' находится в G.Nodes.Name(5).

пример

H = addnode(G,NodeProps) добавляет новые узлы в G со свойствами узла в NodeProps. Для каждой строки в добавляется один узел NodeProps. NodeProps таблица должна иметь возможность конкатенации с G.Nodes, чтобы результат был H.Nodes = [G.Nodes; NodeProps].

Примеры

свернуть все

Добавьте два узла к графу, у которого нет имен узлов.

G = graph([1 2 3],[2 3 4])
G = 
  graph with properties:

    Edges: [3x1 table]
    Nodes: [4x0 table]

G = addnode(G,2)
G = 
  graph with properties:

    Edges: [3x1 table]
    Nodes: [6x0 table]

Добавьте имена узлов в график, а затем добавьте пять новых узлов. Автоматически сгенерированные имена для новых узлов указывают их размещение в G.Nodes.Name.

G.Nodes.Name = {'A' 'B' 'C' 'D' 'E' 'F'}'
G = 
  graph with properties:

    Edges: [3x1 table]
    Nodes: [6x1 table]

G = addnode(G,5);
G.Nodes
ans=11×1 table
       Name   
    __________

    {'A'     }
    {'B'     }
    {'C'     }
    {'D'     }
    {'E'     }
    {'F'     }
    {'Node7' }
    {'Node8' }
    {'Node9' }
    {'Node10'}
    {'Node11'}

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

G = digraph({'A' 'B' 'C'},{'D' 'C' 'D'})
G = 
  digraph with properties:

    Edges: [3x1 table]
    Nodes: [4x1 table]

G = addnode(G,{'E' 'F'})
G = 
  digraph with properties:

    Edges: [3x1 table]
    Nodes: [6x1 table]

Если граф еще не имеет имен узлов, то добавление именованных узлов к графу автоматически создает имена для других узлов.

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

H = digraph([1 2 3],[4 3 4])
H = 
  digraph with properties:

    Edges: [3x1 table]
    Nodes: [4x0 table]

H = addnode(H,{'E','F'});
H.Nodes
ans=6×1 table
      Name   
    _________

    {'Node1'}
    {'Node2'}
    {'Node3'}
    {'Node4'}
    {'E'    }
    {'F'    }

Создайте график, узлы которого представляют аэропорты.

G = graph({'JFK' 'LAX'}, {'LAX' 'DEN'})
G = 
  graph with properties:

    Edges: [2x1 table]
    Nodes: [3x1 table]

Добавьте атрибут узла, чтобы указать, имеет ли каждый аэропорт бесплатный WIFI.

G.Nodes.WIFI = [false true true]';
G.Nodes
ans=3×2 table
     Name      WIFI 
    _______    _____

    {'JFK'}    false
    {'LAX'}    true 
    {'DEN'}    true 

Добавьте два новых узла в график, создав таблицу, NodeProps, содержащий имя узла и состояние WIFI каждого нового узла. Использовать addnode связывать NodeProps кому G.Nodes.

NodeProps = table({'ATL' 'ANC'}', [false true]', ...
    'VariableNames', {'Name' 'WIFI'});
G = addnode(G, NodeProps);

Просмотр измененной таблицы узлов.

G.Nodes
ans=5×2 table
     Name      WIFI 
    _______    _____

    {'JFK'}    false
    {'LAX'}    true 
    {'DEN'}    true 
    {'ATL'}    false
    {'ANC'}    true 

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

свернуть все

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

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

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

Имена узлов, указанные как одно или несколько имен узлов в одной из следующих форм:

  • Одиночный узел - символьный вектор 'A' или строковый скаляр "A".

  • Несколько узлов - массив ячеек символьных векторов {'A' 'B' 'C'} или строковый массив ["A" "B" "C"].

Пример: H = addnode(G,'A')

Пример: H = addnode(G,["A" "B" "C"])

Типы данных: char | cell | string

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

Атрибуты узла, указанные как таблица. NodeProps может содержать любое количество переменных для описания атрибутов узлов графа, но должен иметь возможность конкатенации с G.Nodes, чтобы результат был H.Nodes = [G.Nodes; NodeProps]. Для имен узлов используйте переменную Name, поскольку это имя переменной используется некоторыми графовыми функциями. При наличии переменной Name, то это должен быть массив ячеек символьных векторов или строковый массив, указывающий уникальное имя в каждой строке. Посмотрите table для получения дополнительной информации о построении таблицы.

Типы данных: table

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

свернуть все

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

Представлен в R2015b