How to record the function value for each iteration with using fmincon function.

8 次查看(过去 30 天)
clc, clear all
%Inıtial Guess
x0=[1,6];
%%
%Lower and upper bounds
LB=[-inf];
UB=[10];
%%
%fmincon function
[x,fval]=fmincon(@objfun,x0,[],[],[],[],LB,UB,@confun,[]);
%%
%Constraint Function
function [c,ceq]=confun(x)
%inequality constraints
c=[x(1)+x(2)-5];
%equality constraints
ceq=[];
end
%%
%Object Function
function [f]=objfun(x)
f=(x(1)^2-5*x(2));
end
  4 个评论
Walter Roberson
Walter Roberson 2021-11-23
Have you considered using the option for 'display', 'iter' ?
Have you considered using the option for 'plotfcn' so that the values are plotted during the calculation?
Alan Weiss
Alan Weiss 2021-11-23
编辑:Alan Weiss 2021-11-23
You might want to give 2-D bounds. You have a 2-D variable, but give bounds only on the first component.
These examples might also be of interest: Example of a Nested Output Function (uses base MATLAB) or for fmincon see Output Functions for Optimization Toolbox™.
Alan Weiss
MATLAB mathematical toolbox documentation

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by