필터 지우기
필터 지우기

How to add nodes and display it as a graph??

조회 수: 2 (최근 30일)
Aswin Sandirakumaran
Aswin Sandirakumaran 2018년 6월 28일
편집: Stephan 2018년 6월 28일
G = graph();
j = [1,2,3,4,5];
for i = 1:length(i)
H = addnode(G,j(i));
plot(H);
end
QUESTION: How to plot graph with all the nodes of j ?*
MY PROBLEM IS: IT just adds the node 1 which is 1, but it doesnt add other nodes 2,3,4,5
  댓글 수: 1
Guillaume
Guillaume 2018년 6월 28일
편집: Guillaume 2018년 6월 28일
What exactly are you trying to do? Why are you adding the nodes in a loop rather than all at once (or better create G with the nodes)? Are the j values supposed to be node ids or the number of nodes to add (so is it 5 or 15 nodes that need adding)?

댓글을 달려면 로그인하십시오.

답변 (1개)

Stephan
Stephan 2018년 6월 28일
편집: Stephan 2018년 6월 28일
Hi,
one issue is, that you wrote:
for i = 1:length(i)
instead of:
for i = 1:length(j)
Since length(i) is equal to 1 you only got one node. Additionally the plot command can be set behind the for loop.
P.S.: It is good practice not to use i and j as Counter variables, because that can cause Trouble using complex numbers.
For a more detailled answer to this topic see the answer from Guillaume below.
Best regards
Stephan
  댓글 수: 2
Guillaume
Guillaume 2018년 6월 28일
편집: Guillaume 2018년 6월 28일
There are a lot more problems with the original code than just length(j) vs length(i) unfortunately.
Note that while the answer appears to do the correct thing, what it actually does is exactly equivalent to:
G = graph;
j = 1:5;
H = addnode(G, i(end));
plot(H);
This is because
  • H is overwritten at each step of the loop, discarding the result of all but the last iteration
  • addnode(G, x) adds x nodes to G. It does not add a node with number x to G
Stephan
Stephan 2018년 6월 28일
Thanks for the correction - I withdraw the contribution.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Graph and Network Algorithms에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by