digraph

Cria um grafo dirigido a partir de arestas ou de uma matriz de adjacência.

Categoria: Mathematics > Graph and Network Algorithms

Sintaxe

D = digraph(s, t)

A aresta k vai do nó s(k) ao nó t(k).

D = digraph(s, t, w)

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

D = digraph(s, t, w, names)

Dá nomes aos nós.

D = digraph(A)

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

Descrição

Diferente de graph, cada aresta tem um sentido, e s -> t e t -> s são arestas diferentes que podem coexistir. D.Edges é uma tabela cuja primeira coluna EndNodes guarda os pares e que ganha uma coluna Weight quando há pesos. D.Nodes guarda propriedades dos nós, como Name.

Grafos dirigidos modelam relações de mão única: dependências, fluxos, links. Funções como successors, predecessors, indegree, isdag e conncomp(..., 'Type', 'strong') só fazem sentido com direções.

Argumentos de entrada

s, t
Nós de origem e destino: inteiros positivos, ou nomes de nós dados como cell arrays de texto.
w
Pesos numéricos, um por aresta.
A
Matriz quadrada. A(i,j) ~= 0 cria uma aresta de i para j.

Argumentos de saída

D
Um objeto digraph com as propriedades Edges e Nodes, ambas tabelas.

Exemplo

De listas de arestas e de uma matriz

D = digraph([1 2], [2 3], [5 6]);
disp(D.Edges)
E = digraph([0 1 0; 0 0 1; 1 0 0]);
disp(E.Edges)
Saída
    EndNodes    Weight
    ________    ______

     1    2       5   
     2    3       6   
    EndNodes    Weight
    ________    ______

     1    2       1   
     2    3       1   
     3    1       1

Veja também

graph successors predecessors isdag shortestpath