Matlab 全局解算器绘图

Matlab 全局解算器绘图,matlab,plot,iteration,Matlab,Plot,Iteration,我正在使用全局解算器查找函数的全局最小值。我想画一张图,在这里我可以看到目标函数的迭代,起点和终点,以及找到全局最小点 下面是到目前为止我已经掌握的代码,但是我很难找到关于如何做到这一点的信息 opts = optimoptions(@fmincon,'Algorithm','sqp','TolFun',1e-16,'TolX',1e-16,'MaxFunEvals',100000,... 'MaxIter',100000,'Diagnostics','on','Display','iter')

我正在使用全局解算器查找函数的全局最小值。我想画一张图,在这里我可以看到目标函数的迭代,起点和终点,以及找到全局最小点

下面是到目前为止我已经掌握的代码,但是我很难找到关于如何做到这一点的信息

opts = optimoptions(@fmincon,'Algorithm','sqp','TolFun',1e-16,'TolX',1e-16,'MaxFunEvals',100000,... 'MaxIter',100000,'Diagnostics','on','Display','iter');

X0 = [1 1   1   0.1593  14.8 1.75 1 0.12    1   0.0027 1.86 0.5]; 
LB = [1 1   1   0.1593  14.8 1.75 0 0.12    0   0.0027 1.86 0.5]; 
UB = [1 1 1 1 90 pi/2 1 0.05 0.5 0.05 10 1];


fun=  (@(K)Efficiency_new_normal_all(K[sigmaef,AeffModef,PiTef,NredT,VGT,c,d,mred,etaTSef,...
repmat([gamma,R,Din,Dout,Dnut,Dwheel,BladeH,FPosition(i),RendMean,beta,a0,a1],[length(PiTef),1]),z2angle,z3geom]));

problem =createOptimProblem('fmincon','objective',fun,'lb',LB,'ub',UB,'x0',X0,'options',opts);

gs = GlobalSearch('PlotFcns',{@gsplotbestf,@gsplotfunccount});

[xfinal2,fval,exitflag,output,solutions] = run(gs, problem);

阅读有关和选项的信息。我使用了OuputFcn,但得到的错误是“GlobalSearch在用户提供的函数中遇到故障。在用户提供的函数中,所有56次本地解算器运行都失败。”