在matlab中将GML文件转换为邻接矩阵

时间:2013-04-10 06:45:18

标签: matlab graph adjacency-matrix graph-modelling-language

我有一个有向图的GML文件(Political blogs)。我想在Matlab中使用这个图作为邻接矩阵。我怎么转换它? 感谢。

2 个答案:

答案 0 :(得分:1)

为此目的,我们有一个示例代码here

%Extracting edges from gml file graph
fileName = 'dolphins.gml';
inputfile = fopen(fileName);
A=[];
l=0;
k=1;
while 1
      % Get a line from the input file
      tline = fgetl(inputfile);
      % Quit if end of file
      if ~ischar(tline)
          break
      end
      nums = regexp(tline,'\d+','match');
      if length(nums)
          if l==1
              l=0;
              A(k,2)=str2num(nums{1});  
              k=k+1;
              continue;
          end
          A(k,1)=str2num(nums{1});
          l=1;
      else
          l=0;
          continue;
      end
end

A[],一个[m x 2]矩阵,包含节点之间的链接。

答案 1 :(得分:0)

使用R,您可以使用:

library("multiplex") ## >v1.5 
read.gml(file, as="matrix")