graph

Cria um grafo não direcionado a partir de arestas ou de uma matriz de adjacência.

Categoria: Mathematics > Graph and Network Algorithms

Sintaxe

G = graph(s, t)

A aresta k liga os nós s(k) e t(k).

G = graph(s, t, w)

Também dá às arestas os pesos w.

G = graph(s, t, w, names)

Dá nomes aos nós.

G = graph(A)

Constrói o grafo a partir de uma matriz de adjacência simétrica; entradas diferentes de zero são arestas e seus valores são pesos.

Descrição

Um grafo é um conjunto de nós ligados por arestas, e em um graph as arestas não têm direção. O número de nós é o maior índice usado. Listas de arestas podem repetir um par, o que cria arestas paralelas; veja ismultigraph e simplify.

As arestas são mantidas em ordem, então G.Edges pode listá-las em ordem diferente da entrada. Você pode ler ou acrescentar colunas, por exemplo G.Edges.Weight = [3; 4]. Use plot(G) para desenhar o grafo e numnodes, numedges, neighbors e degree para inspecioná-lo.

Argumentos de entrada

s, t
Nós das pontas das arestas: inteiros positivos, ou nomes dados como cell arrays de texto. Os nomes criam os nós automaticamente.
w
Pesos numéricos, um por aresta.
A
Matriz quadrada simétrica. A(i,j) ~= 0 cria uma aresta entre i e j.

Argumentos de saída

G
Um objeto graph. G.Edges é uma tabela com a coluna EndNodes (e Weight se houver pesos); G.Nodes é uma tabela de propriedades dos nós, como Name.

Exemplo

Lista de arestas, pesos, matriz, nomes

G = graph([1 1 2], [2 3 3], [4 6 5]);
disp(G.Edges)
H = graph([0 1 1; 1 0 0; 1 0 0]);
disp(H.Edges.EndNodes)
N = graph({'a','b','c'}, {'b','c','a'});
disp(N.Nodes.Name')
Saída
    EndNodes    Weight
    ________    ______

     1    2       4   
     1    3       6   
     2    3       5   
     1     2
     1     3
    {'a'}    {'b'}    {'c'}

Veja também

digraph addedge adjacency plot neighbors numnodes