find commun neighbor of matrix

3 views (last 30 days)
khaled nouri
khaled nouri on 30 May 2017
Answered: Santhana Raj on 1 Jun 2017
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
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
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.

Sign in to comment.

Answers (1)

Santhana Raj
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.

Community Treasure Hunt

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

Start Hunting!