主要内容

プロット关数

最适化时のプロット表示

ソルバーの中状况のさまざまなをプロットできます。plotfcnの/値/値のを最佳选择で设定各反复でががプロットプロットプロットプロットプロットつまたは复数指定ししますます。关数关数ハンドルハンドルかかか,,关数关数ハンドルハンドルハンドルのののの

さまざまなプロット关数使用できますソルバーののリファレンスページでplotfcnオプションのを参照し。。

また,プロットを使用ことこと。关数とと同じ构造をを使用して关数ファイルファイルをを记述记述记述し出力关数プロット关数の构文を参照しください。

プロット关数を使用

この例はプロット关数使用して,Fmincon“内点”アルゴリズムの状况表示方法を示し。问题は,制约付き问题の解法ソルバーベースソルバーベースから取得さます。

勾配を,非线形目的关数と关数を记述します。目的目的目的关数关数关数关数关数ははは

类型Rosenbrockwithgrad
函数[F,G] = RosenBrockWithGrad(x)%计算目标f = 100*(x(2)-x(1)^2)^2 +(1 -x(1))^2;如果nargout> 1%梯度需要g = [-400*(x(2)-x(1)^2)*x(1)-2*(1-x(1));200*(x(2)-x(1)^2)];结尾

このファイルをRosenbrockwithgrad.mとして保存し。

制约关数は解がnorm(x)^2 <= 1を満たすになります。

类型UnitDisk2
函数[C,CEQ,GC,GCEQ] = unitdisk2(x)c = x(1)^2 + x(2)^2-1;ceq = [];如果nargout> 2 gc = [2*x(1); 2*x(2)];gceq = [];结尾

このファイルをunitdisk2.mとして保存し。

3つ关数呼び出しを,のオプションを作成ます。。

options = optimoptions(@fmincon,,'算法',,,,“内点”,,,,...“指定目标gradient”,真的,“指定限制器”,真的,...'plotfcn',{@optimplotx,@optimplotfval,@optimplotfirstorderopt});

初期点x0 = [0,0]を作成,残り入力を([])に设定し。

x0 = [0,0];a = [];b = [];aeq = [];beq = [];lb = [];ub = [];

オプションを含む,Fminconを呼び出します。

fun = @RosenBrockWithGrad;nonlcon = @unitdisk2;x = fmincon(fun,x0,a,b,aeq,beq,lb,ub,nonlcon,options)

图优化图功能包含3个轴对象。带有标题当前点的轴对象1包含类型bar的对象。轴对象2具有标题当前功能值:0.0456748包含一个类型行的对象。轴对象3具有标题一阶最优性:2.16246E-08包含一个类型行的对象。

当地最低限度发现满足约束。之所以完成优化,是因为目标函数在可行的方向,最优性公差值之内不折叠,并且在约束公差的值之内满足了约束。
x =1×20.7864 0.6177

关连するトピック