3
我有一個有向圖(Political blogs)的GML文件。我想在Matlab中使用這個圖作爲一個鄰接矩陣。我如何轉換它? 謝謝。將GML文件轉換爲matlab中的鄰接矩陣
我有一個有向圖(Political blogs)的GML文件。我想在Matlab中使用這個圖作爲一個鄰接矩陣。我如何轉換它? 謝謝。將GML文件轉換爲matlab中的鄰接矩陣
有用於此目的的示例代碼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]
矩陣,包含節點之間的鏈接。
有R,您可以使用:
library("multiplex") ## >v1.5
read.gml(file, as="matrix")
感謝回答新人:)。我檢查它似乎以work.but在線轉換器加載到現在的代碼,我沒有看到它的結果! ! – Fatime 2013-04-10 08:44:04
@Fatime,你是對的。我自己嘗試了在線轉換器,它堅持了一些東西。但是我認爲最好是在MATLAB內部解析你的圖,而不是依靠在線的圖。 – 2013-04-10 08:46:21
再次感謝,我想檢查它並比較結果,因爲邊數與gephi圖形軟件的結果不同,但我認爲有一些並行鏈接(https://gephi.org/)Matlab代碼起作用。 – Fatime 2013-04-10 09:00:02