Matlab 如何确定一个图是完全连通的?
对不起,这个问题很简单,但是有没有办法确定一个完全连通的图?我读过一些文章,指出图的完全连通性是图分析的先决条件。我在Matlab的一些图形分析工具箱中搜索确定连通性的函数,但这些工具箱中似乎至少没有提供任何函数。你能给我一些建议吗?非常感谢 我不是图论方面的专家,但看起来我能胜任这项工作 此函数用于查找图中所有连接的组件,因此,如果图完全连接,它将返回S=1组件,C将为每个节点包含1 比如说Matlab 如何确定一个图是完全连通的?,matlab,graph-theory,complex-networks,Matlab,Graph Theory,Complex Networks,对不起,这个问题很简单,但是有没有办法确定一个完全连通的图?我读过一些文章,指出图的完全连通性是图分析的先决条件。我在Matlab的一些图形分析工具箱中搜索确定连通性的函数,但这些工具箱中似乎至少没有提供任何函数。你能给我一些建议吗?非常感谢 我不是图论方面的专家,但看起来我能胜任这项工作 此函数用于查找图中所有连接的组件,因此,如果图完全连接,它将返回S=1组件,C将为每个节点包含1 比如说 [S,C] = graphconncomp(G) if all(C==ones(size(C)))
[S,C] = graphconncomp(G)
if all(C==ones(size(C)))
disp "G is fully connected";
end
我不是图论方面的专家,但看起来我能胜任这项工作 此函数用于查找图中所有连接的组件,因此,如果图完全连接,它将返回S=1组件,C将为每个节点包含1 比如说
[S,C] = graphconncomp(G)
if all(C==ones(size(C)))
disp "G is fully connected";
end
另一种选择是使用FEX功能
isconnected
,请参阅
这将确定图形是否已连接,如果已连接,则输出1,否则输出0。但仅适用于无向图。另一个选项是使用FEX函数
isconnected
,请参阅
这将确定图形是否已连接,如果已连接,则输出1,否则输出0。但仅适用于无向图。您可以执行以下操作:
- 假设G是图的
- 构建与G大小相同的a,将第n个节点的阶数放在第n个对角元素中
- 通过减法生成拉普拉斯矩阵:L=D-G
- 计算L(
函数在eig
中将为您完成)matlab
- 等于零的特征值的数量是图中连接组件的数量
- 如果组件数为1,则图形是完全连接的,否则它具有所需的组件数
此方法适用于有向和无向图
希望对您有所帮助您可以执行以下操作:
- 假设G是图的
- 构建与G大小相同的a,将第n个节点的阶数放在第n个对角元素中
- 通过减法生成拉普拉斯矩阵:L=D-G
- 计算L(
函数在eig
中将为您完成)matlab
- 等于零的特征值的数量是图中连接组件的数量
- 如果组件数为1,则图形是完全连接的,否则它具有所需的组件数
此方法适用于有向和无向图
希望对您有所帮助谢谢,斯图尔特。我使用的是Matlab7.1(R14),graphconncomp在这个版本中似乎不存在。也许我应该切换到R2013。如果您正在处理有向图,并且需要连通性和不可达性属性,请确保使用
graphconncomp(G,'Weak',true)
。谢谢,Stuart。我使用的是Matlab7.1(R14),graphconncomp在这个版本中似乎不存在。也许我应该切换到R2013。如果您正在处理有向图,并且需要连通性和不可达性属性,请确保使用graphconncomp(G,'Weak',true)
。