find commun neighbor of matrix
2 views (last 30 days)
Show older comments
Hello, I have a graph which is represented by this matrix A =[0 1 0 1; 1 0 0 0; 0 1 0 0; 1 0 1 0;]
i went to search the no nodes of matrix which have a commun neighbor, for exemple node 1 is connected with [2,4] and node 2 is connected with [1, 4] so nodes 1 and 2 have a commun neighbor which is node 4
can you Help me PLEASE? ^-^
4 Comments
Santhana Raj
on 31 May 2017
If the matrix you have given is a node connectivity matrix, doesn't this has to be symmetric??
Walter Roberson
on 31 May 2017
Not for directed graphs it does not need to be symmetric.
"having a common neighbor" in a directed graph situation does not promise that the nodes are reachable from each other. For example node 4 might have directed links only towards nodes 1 and 2, with there being way to get from node 1 to node 2 by way of node 4.
Answers (1)
Santhana Raj
on 1 Jun 2017
From my understanding of nodes,
A =[0 1 0 1; 1 0 0 0; 0 1 0 0; 1 0 1 0;]
h=zeros(4);
for i=1:4
[~,H]=find(A(i,:)==1);
h(i,1:length(H))=H;
end
neigh=[];
for i=1:4
if numel(nonzeros(h(:)==i))>1
neigh=[neigh i];
end
end
this seems to work.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!