有matlab代码计算周期图的空间吗?
10视图(30天)
显示旧的评论
答案(6)
克里斯汀Tobler
2017年8月22日
没有直接的方法来计算这个在MATLAB的图类。从阅读的wiki页面,似乎下面会建造周期的基础空间:
图g =(巴基);
t = minspantree (g,“类型”,“森林”);
nonTreeEdges = setdiff (g.Edges。EndNodes t.Edges.EndNodes,“行”);
细胞周期=(大小(nonTreeEdges, 1), 1);
为2 = 1:长度(周期)
src = nonTreeEdges (2, 1);tgt = nonTreeEdges (2, 2);
周期{2}= (tgt shortestpath (t, src, tgt)];
结束
这是输出你正在寻找什么?我希望这可以成为图形与许多昂贵的边缘——也许还有其他格式,将为您的应用程序更有用吗?
0评论
安德鲁·索尔
2019年3月28日
你好。和我一起工作图。主题:
你找到解决方案周期,包括在节点。
但这并不总是工作。
例如,我有adjancency矩阵:
0 1 1 1 0 0 0
1 0 1 1 0 0 0
1 1 0 1 1 0 0
1 1 1 0 0 0 1
0 0 1 0 0 1 0
0 0 0 0 1 0 1
0 0 0 1 0 1 0
我在代码中得到周期:
(3 2 1 3)
(4 2 1 4)
(4 1 3 4)
(7 6 5 3 1 4 7)
但我必须有:
3213年
3243年
1241年
1341年
347653年
这段代码有什么问题?
1评论
克里斯汀Tobler
2019年3月28日
我们在相同的页面上,我的代码提供了一个
周期的基础上
图中,这意味着任何周期可以在此基础上结合周期计算(图中每一辆自行车可以写成一个周期的对称差分的基础上,也就是说,通过结合周期循环的基础上)。我不做任何关于返回一个特定的基础。
我认为我的函数的输出满足这个定义?我认为你的第一个四个输出可以由其他三个,所以不需要形成的基础。我的第四输出不是最好的(使它尽可能短的简单readl),但它看起来是正确的对我。
我不知道很多关于循环基础上,我真的要通过维基百科页面。请让我知道这对你是有意义的。
安德鲁·索尔
2019年3月28日
克里斯蒂娜,这段代码中,在我看来,是最快的之一,同时紧凑的解决方案。万博 尤文图斯但这将是伟大的,如果他发现所有的基本回路,这样他们就不会被获得后从其他周期。的速度和密实度对超大图算法对我的研究很重要。作为一个例子,你可以用我的邻接矩阵正确代码,结果我在说什么。
安德鲁·索尔
2019年3月30日
想弄出来。克里斯蒂娜,告诉我如何构建一个有向图的生成树MATLAB ?
1评论
克里斯汀Tobler
2019年4月1日
计算最小生成树是无向图仅支持。万博1manbetx下面是如何得到一个无向图的有向图:
一个=邻接(g);
gundir =图(A + ');
t = minspantree (gundir);
安德鲁·索尔
2019年3月30日
克里斯蒂娜,我想建立一个与并行分支油印,如图:
https://la.mathworks.com/help/examples/matlab/win64/PickOrCombineMultipleGraphEdgesExample_01.png
https://la.mathworks.com/help/matlab/ref/graph.simplify.html
但MATLAB给出了错误:
错误使用matlab.internal.graph.MLGraph
重复的边缘不受支持的。万博1manbetx
错误matlab.internal.graph.constructFromEdgeList(第125行)
G = underlyingCtor(双、双(t) totalNodes);
误差图(第287行)
matlab.internal.graph.constructFromEdgeList (…