プロット关数
最适化时のプロット表示
ソルバーの中状况のさまざまなをプロットできます。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)
当地最低限度发现满足约束。之所以完成优化,是因为目标函数在可行的方向,最优性公差值之内不折叠,并且在约束公差的值之内满足了约束。
x =1×20.7864 0.6177