Mathematica:重复的边缘
我试图从邻接表中生成一个图形,但是Mathematica不想绘制我的图形,因为我认为有多个边。 这是我的脚本:
Needs["GraphUtilities`"]
data = Import["adj_matrix.txt", "Table"];
data2 = Flatten[Table[{data[[i, 1]] [UndirectedEdge] data[[i, 2]]}, {i, 1,
Length[data]}]];
graph1 = Graph[data2]
我得到的错误是:Graph :: supp:不支持混合图和多图。
我的清单中没有任何“正确的”重复项,唯一出现的重复项类型是1-> 2和2-> 1。 我想知道如何从列表中删除这些“重复项目”。
您可以使用AdjacencyGraph[]
直接将邻接矩阵转换为Graph
。 这可能是最简单的解决方案:
AdjacencyGraph[data]
如果您的矩阵包含除0和1之外的其他元素,请使用
AdjacencyGraph@Clip[data]
要从无向图的边列表中过滤出重复项,请使用
Union[Sort /@ edgeList]
链接地址: http://www.djcxy.com/p/20253.html