随便敲了些和lz类似的关系数字,把你的数字放到这个txt文件里就可以了。
比如你有一个txt文件叫numbers.txt,里头的数字如下
2 3 1
3 4 1
3 9 1
10 9 1
4 6 1
9 6 1
8 10 1
程序如下
clear all;clc;close all;
numbers = importdata('numbers.txt');% 从txt文件中导入数据
firstCol = numbers(:,1); % 截取第一列数据放在这个变量中
secondCol = numbers(:,2); % 截取第二列数据放在这个变量中
% 联系矩阵的大小应该由第一列和第二列中最大的数字决定
m = max(numbers(:,1));
n = max(numbers(:,2));
linkTable = zeros(m,n); % 将联系矩阵初始化为0
N = size(numbers,1); % txt中数据的行数
for i = 1:N
linkTable(firstCol(i),secondCol(i)) = 1; % 两个个体有联系对应处填1
end
linkTable % 显示这个联系矩阵
结果如下:
linkTable =
0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 1 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 1 0