如何在matlab中将给定的邻接矩阵表示为无向加权图?

pra*_*nth 5 matlab graph matrix

对于下面给定的矩阵,它如何表示为无向加权图G(V,E,W),其中V是顶点集,E是边集,W是权重集.

  4     2     3     1     4
  2     2     3     1     4
  2     3     3     1     4
  1     2     3     1     4
  4     2     3     1     5
Run Code Online (Sandbox Code Playgroud)

我试过的源代码:

%table2 is given matrix
bg = biograph(table2,[],'ShowArrows','off','ShowWeights','on');
h = view(bg);
Run Code Online (Sandbox Code Playgroud)

这是为我的矩阵表示无向加权图的正确方法吗?我在相同的2个椎体之间得到2条边.就像这样

在此输入图像描述

我为你建议的代码得到了这个输出 在此输入图像描述

我有2个邻接矩阵.我必须执行以下2个操作:

我必须从这两个邻接矩阵中得到2个图.

然后我必须根据图中边的权重来匹配2个图的顶点.

  4     2     3     1     4
  2     2     3     1     4
  2     3     3     1     4
  1     2     3     1     4
  4     2     3     1     5

 4     1     3     2     4
 1     1     2     3     4
 3     1     3     2     4
 2     1     3     2     4
 4     1     3     2     5
Run Code Online (Sandbox Code Playgroud)

我的方式是对还是错?请建议我

Ste*_*fin 5

要在每个顶点之间只获得一条边,您只需要一个三角矩阵.

如果您尝试这样的事情:

table1 = (table2 + table2') - triu((table2 + table2')) 
table1 =
     0     0     0     0     0
     4     0     0     0     0
     5     6     0     0     0
     2     3     4     0     0
     8     6     7     5     0

bg = biograph(table1,[],'ShowArrows','off','ShowWeights','on');
h = view(bg);
Run Code Online (Sandbox Code Playgroud)

现在我假设你想要从两个边缘总结权重.即1-2的边缘重量等于边缘的重量,从原始矩阵的1-> 2 + 2-> 1. 在此输入图像描述