У меня есть файл GML ориентированного графика (Political blogs). Я хочу использовать этот график в Matlab как матрицу смежности. Как я могу его преобразовать? Спасибо.Преобразование файла GML в матрицу смежности в matlab
3
A
ответ
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]
матрица содержит связи между узлами.
0
С R вы можете использовать:
library("multiplex") ## >v1.5
read.gml(file, as="matrix")
Благодаря ответить новичку :) .Я проверить код, кажется, work.But Интернет конвертер загрузки до сих пор, и я не вижу результат в нем! !! – Fatime
@Fatime, вы правы. Я попробовал онлайн-конвертер, и он застрял в чем-то. Но я думаю, что лучше анализировать ваш график внутри MATLAB, а не полагаться на онлайн-версию. –
Еще раз спасибо, я хотел проверить его и сравнить результат, потому что количество ребер было отличным от результата программного обеспечения gephi, но я думаю, что есть несколько параллельных ссылок (https://gephi.org/). Работает код Matlab. – Fatime