Is there a way to find out all the node names of a graph that begins with a few characters?
For example, I am working with the CElegans digraph (wormwiring.org). It has nodes named 'DA01', 'DA02', etc. I want to know all the node names that begin with the characters 'DA'.
Thank you so much.
Kamal

 채택된 답변

Using a modified version of one of the documentation examples and splitting the code into multiple lines for ease of explanation.
A = triu(magic(4));
names = {'alpha' 'beta' 'gamma' 'alphabet'};
G = graph(A,names,'upper','omitselfloops')
G =
graph with properties: Edges: [6×2 table] Nodes: [4×1 table]
listOfNames = G.Nodes.Name
listOfNames = 4×1 cell array
{'alpha' } {'beta' } {'gamma' } {'alphabet'}
whichNodesStartWithA = startsWith(listOfNames, 'a')
whichNodesStartWithA = 4×1 logical array
1 0 0 1
namesStartingWithA = listOfNames(whichNodesStartWithA)
namesStartingWithA = 2×1 cell array
{'alpha' } {'alphabet'}
whichNodesAreTheyInG = findnode(G, namesStartingWithA)
whichNodesAreTheyInG = 2×1
1 4

댓글 수: 1

Fantastic. I had no idea of this function. Just found out about "endsWith", "contains", "pattern", and "lettersPattern".
Thank you so much.

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

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Graph and Network Algorithms에 대해 자세히 알아보기

질문:

2021년 10월 7일

댓글:

2021년 10월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by