📄 optim_private_display1.c
字号:
"olumn: 0 The function \"display1/displayProgress\" was ca"
"lled with more than the declared number of inputs (16)"));
}
for (i = 0; i < 16 && i < nrhs; ++i) {
mprhs[i] = prhs[i];
}
for (; i < 16; ++i) {
mprhs[i] = NULL;
}
mlfEnterNewContext(
0,
16,
mprhs[0],
mprhs[1],
mprhs[2],
mprhs[3],
mprhs[4],
mprhs[5],
mprhs[6],
mprhs[7],
mprhs[8],
mprhs[9],
mprhs[10],
mprhs[11],
mprhs[12],
mprhs[13],
mprhs[14],
mprhs[15]);
Mdisplay1_displayProgress(
mprhs[0],
mprhs[1],
mprhs[2],
mprhs[3],
mprhs[4],
mprhs[5],
mprhs[6],
mprhs[7],
mprhs[8],
mprhs[9],
mprhs[10],
mprhs[11],
mprhs[12],
mprhs[13],
mprhs[14],
mprhs[15]);
mlfRestorePreviousContext(
0,
16,
mprhs[0],
mprhs[1],
mprhs[2],
mprhs[3],
mprhs[4],
mprhs[5],
mprhs[6],
mprhs[7],
mprhs[8],
mprhs[9],
mprhs[10],
mprhs[11],
mprhs[12],
mprhs[13],
mprhs[14],
mprhs[15]);
}
/*
* The function "Mdisplay1_displayInit" is the implementation version of the
* "display1/displayInit" M-function from file
* "C:\MATLABR11\toolbox\optim\private\display1.m" (lines 98-280). It contains
* the actual compiled code for that M-function. It is a static function and
* must only be called from one of the interface functions, appearing below.
*/
/*
* function figtr = displayInit(itbnd,tol,showstat,nbnds,x,g,l,u)
*/
static mxArray * Mdisplay1_displayInit(int nargout_,
mxArray * itbnd,
mxArray * tol,
mxArray * showstat,
mxArray * nbnds,
mxArray * x,
mxArray * g,
mxArray * l,
mxArray * u) {
mxArray * figtr = mclGetUninitializedArray();
mxArray * ParamTitl = mclGetUninitializedArray();
mxArray * ParamTitlHdln = mclGetUninitializedArray();
mxArray * ans = mclInitializeAns();
mxArray * axx = mclGetUninitializedArray();
mxArray * clk = mclGetUninitializedArray();
mxArray * logfile = mclGetUninitializedArray();
mxArray * n = mclGetUninitializedArray();
mxArray * screensize = mclGetUninitializedArray();
mxArray * xpos = mclGetUninitializedArray();
mxArray * ypos = mclGetUninitializedArray();
mclValidateInputs(
"display1/displayInit",
8,
&itbnd,
&tol,
&showstat,
&nbnds,
&x,
&g,
&l,
&u);
/*
* %DISPLAYINIT Display initial parameter values.
* %
* % figtr = DISPLAYINIT(itbnd,tol,showstat,nbnds,x,g,l,u)
* % sets the layout for LSOT Progress Information figure.
* %
*
*
* %
* if (nbnds & showstat >= 3 )
*/
if (mlfTobool(nbnds)
&& mlfTobool(mlfAnd(nbnds, mlfGe(showstat, mlfScalar(3.0))))) {
/*
*
* % Produce Large figure window
*
* figtr = findobj('Type','figure','Name','Progress Information') ;
*/
mlfAssign(
&figtr,
mlfFindobj(
mxCreateString("Type"),
mxCreateString("figure"),
mxCreateString("Name"),
mxCreateString("Progress Information"),
NULL));
/*
*
* % Have to check if it has the right size, for that purpose see
* % how many axes there are.
* if ~isempty(figtr)
*/
if (mlfTobool(mlfNot(mlfIsempty(figtr)))) {
/*
* axx = findobj(figtr,'type','axes') ;
*/
mlfAssign(
&axx,
mlfFindobj(
figtr, mxCreateString("type"), mxCreateString("axes"), NULL));
/*
* if sum(size(axx)) < 4 % is small
*/
if (mlfTobool(
mlfLt(
mlfSum(mlfSize(mclValueVarargout(), axx, NULL), NULL),
mlfScalar(4.0)))) {
/*
* close(figtr) ;
*/
mclAssignAns(&ans, mlfNClose(0, figtr, NULL));
/*
* figtr = [] ;
*/
mlfAssign(&figtr, mclCreateEmptyArray());
/*
* end ;
*/
}
/*
* end ;
*/
}
/*
*
* if isempty(figtr)
*/
if (mlfTobool(mlfIsempty(figtr))) {
/*
*
* screensize = get(0,'ScreenSize') ;
*/
mlfAssign(
&screensize,
mlfGet(mlfScalar(0.0), mxCreateString("ScreenSize"), NULL));
/*
* xpos = floor((screensize(3) - 950)/2) ;
*/
mlfAssign(
&xpos,
mlfFloor(
mlfMrdivide(
mlfMinus(
mlfIndexRef(screensize, "(?)", mlfScalar(3.0)),
mlfScalar(950.0)),
mlfScalar(2.0))));
/*
* ypos = floor((screensize(4) - 520)/2) ;
*/
mlfAssign(
&ypos,
mlfFloor(
mlfMrdivide(
mlfMinus(
mlfIndexRef(screensize, "(?)", mlfScalar(4.0)),
mlfScalar(520.0)),
mlfScalar(2.0))));
/*
*
* figtr=figure( ...
*/
mlfAssign(
&figtr,
mlfNFigure(
1,
mxCreateString("NumberTitle"),
mxCreateString("off"),
mxCreateString("Name"),
mxCreateString("Progress Information"),
mxCreateString("position"),
mlfHorzcat(
xpos, ypos, mlfScalar(950.0), mlfScalar(520.0), NULL),
NULL));
/*
* 'NumberTitle','off', ...
* 'Name', 'Progress Information', ...
* 'position',[xpos ypos 950 520]);
*
* set(figtr,'DefaultAxesPosition',[.1 .45 .8 .5]) ;
*/
mclAssignAns(
&ans,
mlfNSet(
0,
figtr,
mxCreateString("DefaultAxesPosition"),
mlfDoubleMatrix(1, 4, __Array0_r, NULL),
NULL));
/*
*
* uicontrol(figtr,...
*/
mclAssignAns(
&ans,
mlfNUicontrol(
0,
figtr,
mxCreateString("Style"),
mxCreateString("frame"),
mxCreateString("Units"),
mxCreateString("normalized"),
mxCreateString("Position"),
mlfDoubleMatrix(1, 4, __Array1_r, NULL),
mxCreateString("Value"),
mlfScalar(0.0),
mxCreateString("Userdata"),
mxCreateString("LSOT frame"),
NULL));
/*
* 'Style','frame',...
* 'Units','normalized',...
* 'Position',[.74 .04 .17 .22],...
* 'Value',0,...
* 'Userdata','LSOT frame');
* uicontrol(figtr,...
*/
mclAssignAns(
&ans,
mlfNUicontrol(
0,
figtr,
mxCreateString("Style"),
mxCreateString("text"),
mxCreateString("Units"),
mxCreateString("normalized"),
mxCreateString("Position"),
mlfDoubleMatrix(1, 4, __Array2_r, NULL),
mxCreateString("Userdata"),
mxCreateString("lsotlabel"),
mxCreateString("String"),
mxCreateString("RUNNING"),
NULL));
/*
* 'Style','text', ...
* 'Units','normalized', ...
* 'Position',[.75 .15 .15 .1], ...
* 'Userdata','lsotlabel',...
* 'String', 'RUNNING');
* uicontrol(figtr, ...
*/
mclAssignAns(
&ans,
mlfNUicontrol(
0,
figtr,
mxCreateString("Style"),
mxCreateString("pushbutton"),
mxCreateString("Units"),
mxCreateString("Normalized"),
mxCreateString("Position"),
mlfDoubleMatrix(1, 4, __Array3_r, NULL),
mxCreateString("String"),
mxCreateString("STOP Execution"),
mxCreateString("Userdata"),
mxCreateString("stop button"),
mxCreateString("Callback"),
mxCreateString(
"set(findobj(gcf,'Userdata','LSOT frame'),'Value',1);"),
NULL));
/*
* 'Style','pushbutton',...
* 'Units','Normalized',...
* 'Position',[.75 .05 .15 .1],...
* 'String','STOP Execution',...
* 'Userdata','stop button',...
* 'Callback', ...
* 'set(findobj(gcf,''Userdata'',''LSOT frame''),''Value'',1);') ;
*
*
*
* xtrack(x,g,l,u,'init');
*/
mlfOptim_private_xtrack(x, g, l, u, mxCreateString("init"));
/*
* ParamTitlHdln = uicontrol( ...
*/
mlfAssign(
&ParamTitlHdln,
mlfNUicontrol(
1,
mxCreateString("HorizontalAlignment"),
mxCreateString("left"),
mxCreateString("Style"),
mxCreateString("text"),
mxCreateString("Max"),
mlfScalar(10.0),
mxCreateString("Units"),
mxCreateString("normalized"),
mxCreateString("Position"),
mlfDoubleMatrix(1, 4, __Array4_r, NULL),
mxCreateString("UserData"),
mxCreateString("Report Progress"),
NULL));
/*
* 'HorizontalAlignment','left',...
* 'Style','text', ...
* 'Max',10,...
* 'Units','normalized', ...
* 'Position',[0.1 0.05 0.36 0.30], ...
* 'UserData','Report Progress');
* % 'Position',[0.1 0.05 0.36 0.35], ...
*
* else
*/
} else {
/*
*
* figure(figtr) ;
*/
mclAssignAns(&ans, mlfNFigure(0, figtr, NULL));
/*
* set(findobj(figtr,'Userdata','LSOT frame'),'Value',0) ;
*/
mclAssignAns(
&ans,
mlfNSet(
0,
mlfFindobj(
figtr,
mxCreateString("Userdata"),
mxCreateString("LSOT frame"),
NULL),
mxCreateString("Value"),
mlfScalar(0.0),
NULL));
/*
* set(findobj(figtr,'Userdata','lsotlabel'),'String','RUNNING') ;
*/
mclAssignAns(
&ans,
mlfNSet(
0,
mlfFindobj(
figtr,
mxCreateString("Userdata"),
mxCreateString("lsotlabel"),
NULL),
mxCreateString("String"),
mxCreateString("RUNNING"),
NULL));
/*
* set(findobj(figtr,'Userdata','stop button'), ...
*/
mclAssignAns(
&ans,
mlfNSet(
0,
mlfFindobj(
figtr,
mxCreateString("Userdata"),
mxCreateString("stop button"),
NULL),
mxCreateString("String"),
mxCreateString("STOP Execution"),
mxCreateString("Callback"),
mxCreateString(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -