如何在MATLAB中消除网络自环

如何在MATLAB中消除网络自环,matlab,networking,matrix,Matlab,Networking,Matrix,我有一个文件,其中有一个巨大的矩阵(10903x3),形成了一个具有重复节点和自循环的网络 我想得到拉普拉斯矩阵,首先计算网络图 我的步骤如下: 使用以下代码删除重复的节点(有效): Au=唯一([排序(A(:,[1,2]),2)A(:,3)],'rows') 然后我通过*,计算拉普拉斯矩阵: L=拉普拉斯(Au) *但是它无法计算,因为存在一些自循环,而且网络太大,我不知道如何找到并删除它们 如果您使用的是graph和digraph类,则在创建图形时可以使用“省略自循环”选项 否则,自循环在

我有一个文件,其中有一个巨大的矩阵(10903x3),形成了一个具有重复节点和自循环的网络

我想得到拉普拉斯矩阵,首先计算网络图

我的步骤如下:

  • 使用以下代码删除重复的节点(有效):

    Au=唯一([排序(A(:,[1,2]),2)A(:,3)],'rows')

  • 然后我通过*,计算拉普拉斯矩阵:

    L=拉普拉斯(Au)

    *但是它无法计算,因为存在一些自循环,而且网络太大,我不知道如何找到并删除它们


如果您使用的是graph和digraph类,则在创建图形时可以使用“省略自循环”选项

否则,自循环在邻接矩阵的对角线上显示为非零元素。因此,您可以构造邻接矩阵并将对角线归零,以删除自循环