为网络创建邻接矩阵分析

3视图(30天)
我有一个矩阵29 * 33的表(附件)/图片
。第一列代表个体数量和每一行代表谁是他/她朋友喜欢个人1与2的朋友,3,5,6,等等!矩阵我已经删除的个人数据丢失如果你看第一列我有删除行4、13、14、23。也因为他们失踪我设置的值4,13日,14日和23日0无论他们提到作为一个朋友,剩下的人如果你看到朋友的1(第1行)你看到他朋友2、3也4但其0 4失踪以来的第一列,然后5等等!我应该如何在matlab得到邻接矩阵编码矩阵?

接受的答案

Vishal同事
Vishal同事 2018年8月29日
编辑:Vishal同事 2018年8月29日
根据我的理解,你想创建一个邻接矩阵的测试。垫和有差异的数据。正如你可能知道的,邻接矩阵是一个对称矩阵,因此一个简单的建议是删除的列有差异(4、13、14、23)。然后矩阵获得是对称的,然后你可以得到邻接矩阵通过赋值为1的朋友和0到那些不。示例代码,您可以尝试:
x = [1:3, 5:12, 22, 24:33];%去除4、13、14、23从测试
test1 =测试(:,x);
adj_matr = test1 > 0;%分配值1和0没有朋友
另一件事,你可以试着把列(4、13、14、23)行这将使矩阵对称,然后您可以获得邻接矩阵。
2的评论
Vishal同事
Vishal同事 2018年8月29日
编辑:Vishal同事 2018年8月29日
我之前理解你的问题,我在想,每一列对应一个人,一个uni-directed网络。所以你可以尝试一件事创建零大小的矩阵adj_matr 29 x33。然后为每一行从第二列搜索的数字从1到33在测试矩阵,如果你发现在列插入一个数字矩阵adj_matr那里。之后,删除列4、13、14和23个测试矩阵不存在,他们将有一个零值。所以你有邻接矩阵adj_matr大小29 x29。希望这将解决你的问题。

登录置评。

更多的答案(0)

类别

找到更多的在网络帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!