How to add nodes and display it as a graph??
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
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
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Performance 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!