2

私はこれまで並列計算を使用したことがありません。それが私の質問がばかげている理由です。最小二乗関数「bla」の最適化プログラムがあります

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

しかし、それは非常に遅いです。「p」の各値に対して、fminseach で prallel プログラミングを使用できますか?

4

1 に答える 1

2

最適化ツールボックスにはいくつかの並列コンピューティング機能があり、そのために並列コンピューティングツールボックスも購入する必要があります。これらの機能については、http://www.mathworks.com/help/optim/ug/using-parallel-computing-with-fmincon-fgoalattain-and-fminimax.htmlで説明しています。それがあなたが望むものであるかどうかはわかりませんが。の異なる値に対して複数の異なる値を検索する場合pbsetpstart、次のようにすることができます(ここでも、Parallel Computing Toolboxを使用して)

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 に答える