find commun neighbor of matrix
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
Santhana Raj
2017-5-31
If the matrix you have given is a node connectivity matrix, doesn't this has to be symmetric??
Walter Roberson
2017-5-31
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.
回答(1 个)
Santhana Raj
2017-6-1
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Directed Graphs 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!