Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

引力の盆地を視覚化する

どの出発点がどの盆地につながるのでしょうか?最急降下ソルバーの場合、近くのポイントは通常同じ盆地につながります。引き込み領域 を参照してください。ただし、Optimization Toolbox™ ソルバーの場合、盆地はより複雑になります。

MultiStart での実行例MultiStart 開始点を、終了する盆地で色分けしてプロットします。

% rng(14,'twister')
% Uncomment the previous line to get the same output
ms = MultiStart;
opts = optimoptions(@fmincon,'Algorithm','interior-point');
sixmin = @(x)(4*x(1)^2 - 2.1*x(1)^4 + x(1)^6/3 ...
+ x(1)*x(2) - 4*x(2)^2 + 4*x(2)^4);
problem = createOptimProblem('fmincon','x0',[-1,2],...
'objective',sixmin,'lb',[-3,-3],'ub',[3,3],...
'options',opts);
[xminm,fminm,flagm,outptm,manyminsm] = run(ms,problem,50);

possColors = 'kbgcrm';
hold on
for i = 1:size(manyminsm,2)
    
    % Color of this line
    cIdx = rem(i-1, length(possColors)) + 1;
    color = possColors(cIdx);

    % Plot start points
    u = manyminsm(i).X0; 
    x0ThisMin = reshape([u{:}], 2, length(u));
    plot(x0ThisMin(1, :), x0ThisMin(2, :), '.', ...
        'Color',color,'MarkerSize',25);

    % Plot the basin with color i
    plot(manyminsm(i).X(1), manyminsm(i).X(2), '*', ...
        'Color', color, 'MarkerSize',25); 
end % basin center marked with a *, start points with dots
hold off

図では、盆地の中心が色付きの * シンボルで示されています。* シンボルと同じ色の開始点は、* シンボルの中心に収束します。

開始点は必ずしも最も近い流域に収束するとは限りません。たとえば、赤い点は赤い盆地の中心よりもシアンの盆地の中心に近くなります。また、黒と青のスタートポイントの多くは、反対側の盆地の中心に近いです。

次の等高線図からわかるように、マゼンタ色と赤色の盆地は浅いです。

 図を生成するコード

関連するトピック