您好亲爱的matlab专业人士!
在我的程序中,我运行了三个不同且独立的线性最小二乘优化(使用matlab函数lsqlin):
layersR = lsqlin(P, lightFieldVector(:, 1), [], [], [], [], lb, ub, x0, options);
layersG = lsqlin(P, lightFieldVector(:, 2), [], [], [], [], lb, ub, x0, options);
layersB = lsqlin(P, lightFieldVector(:, 3), [], [], [], [], lb, ub, x0, options);
由于这些优化运行需要一点时间,我想知道是否可以并行运行它们,所以我添加了一个parfor循环:
layers = zeros(size(P, 2), 3);
parfor c = 1 : 3
% Run optimization for each channel in parallel
layers(:, c) = lsqlin(P, lightFieldVector(:, c), [], [], [], [], lb, ub, x0, options);
end
现在,这似乎不起作用。计算时间仍然相同。我在文档中找不到太多帮助我理解这一点的信息。可能是lsqlin方法内部并行工作吗?
阿德里安