MATLAB Answers

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

조회 수: 2(최근 30일)
mariam shakoor
mariam shakoor 2021년 4월 6일
답변: Christine Tobler 2021년 4월 6일
hi, how would i change an undirected network into a directed network on matlab? what commannds could I use?

답변(2개)

Stephan
Stephan 2021년 4월 6일
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 2021년 4월 6일
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