2

我以前从未使用过并行计算。这就是为什么我的问题可能很愚蠢。我的最小二乘函数“bla”有一个优化程序

d=@(p)bla(m1,m2,m3,p,m2,m3);
pstart=0.2;
[pbest,likemodelvalue]=fminsearch(d,pstart,options)

但它非常慢。我可以对“p”的每个值使用 fminseach 的并行编程吗?

4

1 回答 1

2

优化工具箱有一些并行计算工具,您还需要购买并行计算工具箱。这些功能在此处进行了描述:http: //www.mathworks.com/help/optim/ug/using-parallel-computing-with-fmincon-fgoalattain-and-fminimax.html。我不确定这是否正是你想要的。如果你想为不同的值找到多个不同的值pbsetpstart你可以做这样的事情(再次,使用并行计算工具箱)

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
于 2013-01-24T07:12:09.510 回答