Convert weighted digraph to undirected

Is there any way of converting a weighted digraph to undirected?
eg. Node1-Node2-Weight A-B-1 B-A-1
Will become: A-B-2 ?

 Réponse acceptée

Walter Roberson
Walter Roberson le 23 Oct 2017

1 vote

Take the adjacency matrix of the weighted digraph and add it to its transpose; build an undirected graph from the result.

3 commentaires

If I use:
g=graph(adjacency(d)+transpose(adjacency(d)))
for d (digraph) with edge table like this: EndNodes--Weight
A B 1
C D 2
D C 1
E F 1
then I get the output of g edge table:
1 2 1
3 4 2
5 6 1
...which means that the C<->D weights are not adding properly for undirected.
ie. should be:
1 2 1
3 4 *3*
5 6 1
Walter Roberson
Walter Roberson le 24 Oct 2017
https://www.mathworks.com/help/matlab/ref/graph.adjacency.html#buy61af shows how to reconstruct the weighted adjacency matrix.
UQFG
UQFG le 27 Oct 2017
Thank you for that link!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graph and Network Algorithms dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by