我正在处理一个非常大的矩阵,因此想要在MATLAB中使用并行计算来运行群集。在这里,我已经创建使用稀疏矩阵:尝试在MATLAB中使用parfor(并行for循环)时出错
Ad = sparse(length(con)*length(uni_core), length(con)*length(uni_core));
我有一个书面的功能adj
使用,我可以填满基Ad
。 每次循环运行时,从函数adj
中我得到一个方形对称矩阵,将在第一个索引中指定从3682*(i-1)+1
到3682 *(i-1)+3682
,同样在第二个索引中指定。这是显示在这里:
parfor i = 1:length(con)
Ad((3682*(i-1))+1:((3682*(i-1))+3682), ...
(3682*(i-1))+1:((3682*(i-1))+3682)) = adj(a, b, uni_core);
end
在一个正常的循环它运行没有任何问题。但在parfor
并行计算中,我收到一个错误,说明在使用带有parfor
的分片阵列时存在问题。
这似乎是非常有用的...非常感谢你。我会立即尝试,并会发布,如果任何进一步的问题。 – sushma 2011-03-25 06:16:46