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
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
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 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!