Plot function variables for each iteration in fmincon

6 visualizzazioni (ultimi 30 giorni)
Hi,
I am trying to plot the variables values calculated for each iteration in fmincon. @optimplotx give histogram plot but i want to plot separately each variable for my function. I am able to plot for each function evaluation, but i want the variable values to be plotted for each iteration just like @optimplotfcn.

Risposta accettata

Matt J
Matt J il 23 Set 2017
Modificato: Matt J il 24 Set 2017
You can specify your own custom PlotFcn. You don't have to use one of the pre-written choices like, @optimplotx.
function stop = myplotfun(x, optimValues, state)
persistent data
if ~nargin % example reset mechanism
data=[];
end
if strcmp(state,'iter')
data=[data,x(:)];
plot(data.');
end
stop=0;
end
  11 Commenti
Matt J
Matt J il 25 Set 2017
Modificato: Matt J il 25 Set 2017
PlotFcns is indeed the more natural thing to use. No idea why it doesn't work.
Xingwang Yong
Xingwang Yong il 8 Apr 2021
It seems the reset mechanism above is made wrong on purpose. For completeness, this is one that works
function stop = myplotfun(x, optimValues, state)
persistent data
if strcmp(state,'init') % example reset mechanism
data=[];
end
if strcmp(state,'iter')
data=[data,x(:)];
plot(data.');
end
stop=0;
end

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Problem-Based Optimization Setup in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by