碰到一些问题,希望帮忙看看!
最近写了一个用户自定义程序,这个程序调用格式是f=Opt_DriDispRelia(wt),即给出一个向量wt,就可以得到一个标量f。
当然,这个自定义函数为非线性函数,调用MATLAB优化工具箱函数fmincon对其中的wt进行优化,wt中的各元素只要>0即可,没有其它约束。我的优化代码如下:
wt=[1 1];%这里是自变量初始值
LB=zeros(1,2);%这里是下边界
OPTIONS = OPTIMSET('Display','iter','LargeScale','off','TolX',1e-9,...
'TolFun',1e-9,'TolCon',1e-9,'DerivativeCheck','off','Diagnostics','off',...
'GradObj','off','GradConstr','off','HessMult',[],...% HessMult [] by default
'Hessian','off','HessPattern','sparse(ones(numberOfVariables))',...
'MaxFunEvals',1000,'MaxSQPIter',Inf,...
'DiffMaxChange',1e-1,'DiffMinChange',1e-8,...