考虑两个数组A=Huge_Arrau_one
和B=Huge_array_two
,如何更改以下代码以在Matlab中工作(因为Matlab不接受嵌套循环)。
parfor (i,j) in all_combinations_of_A_and_B_indices
A_in_this_worker = A(i);
B_in_this_worker = B(j);
....
end
请注意,我不希望每个工作人员都拥有所有A和B阵列,因为每个工人只需要一小部分。 之前已经讨论过这个问题,用于索引2d数组的两个维度(使用sub2ind和ind2sub函数),但奇怪的是,我从未见过这个版本我正在努力解决的问题。 事实上,我希望每个组合都有一个单独的工作人员,我需要访问每个工作人员的A和B的一部分。
答案 0 :(得分:0)
method Mathworks suggests是围绕for循环使用parfor循环 您可能希望这样做:
parfor i = 1:length(Array_A)
for j = 1:length(Array_B)
% your code here
end
end
基本上,确保将外循环作为parfor循环运行