% 读取合作网络矩阵数据
data = load('Co_net.txt'); % 根据实际文件路径进行修改
% 获取节点个数
numNodes = max(max(data));
% 分割合作网络矩阵为较小的子图
numSubgraphs = 10; % 根据需要设置子图个数
subgraphSize = ceil(numNodes / numSubgraphs); % 每个子图的节点数
adjacencyMatrix = sparse(numNodes, numNodes); % 创建稀疏矩阵用于存储邻接矩阵
for i = 1:numSubgraphs
startIndex = (i-1) * subgraphSize + 1;
endIndex = min(i * subgraphSize, numNodes);
% 提取子图的边
subgraphEdges = data(data(:, 1) >= startIndex & data(:, 1) <= endIndex, :);
% 生成子图的邻接矩阵
subgraphAdjacency = sparse(subgraphEdges(:, 1), subgraphEdges(:, 2), 1, endIndex, endIndex);
% 将子图的邻接矩阵添加到完整的邻接矩阵中
adjacencyMatrix(startIndex:endIndex, startIndex:endIndex) = subgraphAdjacency;
end
% 显示完整的邻接矩阵
disp(adjacencyMatrix);
我是想把一个复杂数据的合作网络矩阵分成子图,最后变成完整的邻接矩阵,执行完程序后,显示左侧索引与右侧的大小不兼容,到底该怎么改呀?
data = load('Co_net.txt');
numNodes = max(max(data));
numSubgraphs = 10;
subgraphSize = ceil(numNodes / numSubgraphs);
adjacencyMatrix = sparse(numNodes, numNodes);
for i = 1:numSubgraphs
startIndex = (i-1) * subgraphSize + 1;
endIndex = min(i * subgraphSize, numNodes);
subgraphEdges = data(data(:, 1) >= startIndex & data(:, 1) <= endIndex, :);
subgraphAdjacency = sparse(subgraphEdges(:, 1), subgraphEdges(:, 2), 1, endIndex, endIndex);
% 将子图的邻接矩阵添加到完整的邻接矩阵中(注意索引加 1)
adjacencyMatrix(startIndex:endIndex, startIndex:endIndex) = subgraphAdjacency;
end
disp(adjacencyMatrix);
具体哪行报错 错误截图看看
1s3+2s2+s和1s2+2s+1\frac{1}{s^3+2s^2+s} 和 \frac{1}{s^2+2s+1}s3+2s2+s1和s2+2s+11