⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optim_private_display1.c

📁 ASUFIT-Matlab-全局拟合程序
💻 C
📖 第 1 页 / 共 5 页
字号:
            "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 + -