MATLAB Answers

how would i change an undirected network into a directed network on matlab?

4 views (last 30 days)
mariam shakoor
mariam shakoor on 6 Apr 2021
Answered: Christine Tobler on 6 Apr 2021
hi, how would i change an undirected network into a directed network on matlab? what commannds could I use?

Answers (2)

Stephan
Stephan on 6 Apr 2021
here is a small example:
A = [0 0 1; 0 0 1; 1 1 0]
ug = graph(A)
B = zeros(size(A,1))
B = B + triu(A)
dg = digraph(B)
subplot(2,1,1)
plot(ug)
subplot(2,1,2)
plot(dg)
read more here:
and at the linked pages at the bottom of the provided link.

Christine Tobler
Christine Tobler on 6 Apr 2021
It depends on what you want to the directed graph to look like. To replace every undirected edge with two directed edges going in both directions, use
directedG = digraph(adjacency(undirectedG);
Note this will not copy over any node or edge properties of the original graph (for example node names). It also won't work if you have a multigraph (more than one edge connecting the same pair of nodes). There are other commands that will work for those cases.

Community Treasure Hunt

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

Start Hunting!

Translated by