Matlab 如何确定一个图是完全连通的?

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)))

对不起,这个问题很简单,但是有没有办法确定一个完全连通的图?我读过一些文章,指出图的完全连通性是图分析的先决条件。我在Matlab的一些图形分析工具箱中搜索确定连通性的函数,但这些工具箱中似乎至少没有提供任何函数。你能给我一些建议吗?非常感谢

我不是图论方面的专家,但看起来我能胜任这项工作

此函数用于查找图中所有连接的组件,因此,如果图完全连接,它将返回S=1组件,C将为每个节点包含1

比如说

[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)