我之前从未使用过并行计算。这就是为什么我的问题可能很愚蠢。我有一个最小平方函数“bla”的优化程序
d=@(p)bla(m1,m2,m3,p,m2,m3);
pstart=0.2;
[pbest,likemodelvalue]=fminsearch(d,pstart,options)
但它非常慢。对于“p”的每个值,我可以对fminseach使用并行编程吗?
答案 0 :(得分:2)
优化工具箱有一些并行计算工具,您还需要购买并行计算工具箱。这些功能在此处描述:http://www.mathworks.com/help/optim/ug/using-parallel-computing-with-fmincon-fgoalattain-and-fminimax.html。我不确定这是不是你想要的。如果您想为pbset
的不同值找到pstart
的多个不同值,您可以执行类似的操作(同样,使用并行计算工具箱)
matlabpool open local % launch local workers
pstart = 0:0.2:10;
for ii = 1:numel(pstart)
[pbest(ii), likemodelvalue(ii)] = fminsearch(d, pstart(ii), options);
end