我以前從未使用過並行計算。這就是爲什麼我的問題可能很愚蠢。我有一個優化程序,用於最小平方函數「bla」並行計算工具箱fminsearch
[email protected](p)bla(m1,m2,m3,p,m2,m3);
pstart=0.2;
[pbest,likemodelvalue]=fminsearch(d,pstart,options)
但是它非常慢。我可以使用fminseach進行並行編程,對於每個「p」值嗎?
我以前從未使用過並行計算。這就是爲什麼我的問題可能很愚蠢。我有一個優化程序,用於最小平方函數「bla」並行計算工具箱fminsearch
[email protected](p)bla(m1,m2,m3,p,m2,m3);
pstart=0.2;
[pbest,likemodelvalue]=fminsearch(d,pstart,options)
但是它非常慢。我可以使用fminseach進行並行編程,對於每個「p」值嗎?
優化工具箱有一些並行計算工具,您還需要購買並行計算工具箱。這些功能在這裏描述: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
非常感謝您的回覆。我想找到使我的矩陣最小化的「p」。而fminsearch試圖通過「p」的許多值來做到這一點,從「pstart」開始。是否有可能,matlab不是一個接一個地尋找這個「p」值,而是同時尋找? – user1018331
也許你可以用不同的分發MATLAB工人域嘗試。那麼全球分鐘將是分佈結果中的最小分數。 – Acorbe