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)

Community Treasure Hunt

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

Start Hunting!

Translated by