Remove nodes in a graph based on label name instead of index
조회 수: 2 (최근 30일)
이전 댓글 표시
I am fairly new to Matlab and trying to modify a network graph.
I want to remove nodes in a graph based on node's label name instead of the node's index. Using the screenshot as an example, I would like to remove node that has name of '12'(underline in blue) instead of node that has an index of 12(underline in red). Is there a way to do so?
I try
G = rmnode(G,G.Nodes.Name=='12')
But get error message: Operate '==' is not supported for operands of type 'cell'.
Thanks for any suggestions.
댓글 수: 0
채택된 답변
Steven Lord
2022년 7월 20일
B = graph(bucky, string(1:60)); % Use '1' through '60' as names
head(B.Nodes) % Show the first few node names
B2 = rmnode(B, '42');
B2.Nodes(40:45, :) % No node '42' in the modified graph's Nodes table
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Graph and Network Algorithms에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!