欢迎来到天天文库
浏览记录
ID:14559631
大小:1.89 MB
页数:10页
时间:2018-07-29
《gml转邻接矩阵和邻接表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、复杂网络研究中gml格式数据转换成邻接矩阵的方法 (2015-04-1322:22:57)[编辑][删除]转载▼标签: 教育 文化复杂网络研究中gml格式数据转换成邻接矩阵的方法1.首先到Newman的主页http://www-personal.umich.edu/~mejn/netdata/下载Gephi软件,这个需要java环境。 图1.Newman主页上的Gephi 图2.点击Newman主页Gephi后的页面2.然后打开安装好的Gephi软件 图3.安装好的Gephi软件 图4.打开后的软
2、件界面3.然后点击:文件-----打开-----选中一个gml格式的文件------打开-----确定 图5.选择文件 图6.打开文件的选择 图7.打开文件后的界面4.点击:数据资料(图7左上角红圈内)----
3、-边-----输出表格图8.数据资料界面图9.输出表格界面5.只选择Source和Target-----点击确定-----保存到桌面。此时在桌面你会发现一个电子表格(格式是csv),双击打开它。删除有汉字的第一行。这样就得到了这个网络的邻接表。图10.保存到桌面的输出文件图11.打开后的界面6.打开matlab-----新建一个文件重命名为b-----复制电子表格中的邻接表到新建的文件b中(图12)
4、 图12.复制邻接表到b中7.新建函数,代码如下function b=ainc2adj(x)%邻接表生成邻接矩阵ifmin(x)==0;x=x+1;endd=length(x);a=max(max(x));b=zeros(a,a);fori=1:d ifx(i,1)==x(i,2); b(x(i,1),x(i,2))=0; else b(x(i,1),x(i,2))=1; b(x(i,2),x(i,1))=1; endend8.在CommandWin
5、dow中运行函数 a=ainc2adj(b);最后就输出邻接矩阵a了。图13.运行函数图14.得到的邻接矩阵a提示:1.这是自己捉摸出来的笨方法,如果有大神看到这篇博文,请指点个比较简单的方法方便大家科研。2.这个软件也可以读取它输出的csv格式的文件,也就是那个邻接表,不过里边有汉字的第一行要删除。也就是说,读者如果想用Gephi软件读取自己的一个有邻接矩阵的网络,应该先把邻接矩阵转换成邻接表,然后把邻接表粘贴到csv格式的文件中,然后用Gephi打开就行了。最下面是邻接矩阵转邻接表的matlab代码(特别简单,自己也可以写)。3.大家可以百度
6、Gephi软件教程,有很多。4.如果博文里边有错误,请大家指正。对于可能的错误先道个歉。邻接矩阵转邻接表matlab代码:function[biao]=adj2binc(a)%输入邻接矩阵,输出邻接表n=size(a,1);biao=[];fori=1:n; forj=1:n ifa(i,j)==1; biao=[biao;ij]; a(j,i)=0; end endendend小弟是研究复杂网络社区检测的,希望可以向大家学习,进步。
此文档下载收益归作者所有