Changeset 4539


Ignore:
Timestamp:
07/12/10 16:44:20 (15 years ago)
Author:
seroussi
Message:

modifications in ControlOptimization mex module

Location:
issm/trunk/src/mex/ControlOptimization
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/mex/ControlOptimization/ControlOptimization.cpp

    r4453 r4539  
    1111        double xmin,xmax;
    1212        double tolerance;
    13         int    maxiter;
     13        double* maxiter;
    1414        OptArgs optargs;
    1515        OptPars optpars;
     
    2020
    2121        /*arguments to objectivefunctionC: */
    22         mxArray* models=NULL;
    23         mxArray* pg=NULL;
    24         mxArray* grad_g=NULL;
    25         mxArray* n=NULL;
    2622        int      n_value;
    2723        double*  cm_jump=NULL;
     
    3834        FetchData(&xmax,XMAX);
    3935        FetchData(&tolerance,mxGetField(OPTIONS,0,"TolX"));
    40         FetchData(&maxiter,mxGetField(OPTIONS,0,"MaxIter"));
     36        FetchData(&maxiter,NULL,NULL,mxGetField(OPTIONS,0,"MaxIter"));
    4137
    4238        /*Parameters: */
    43         FetchData(&cm_jump,NULL,NULL,mxGetField(PARAMETERS,0,"cm_jump"));
     39        FetchData(&cm_jump,NULL,NULL,mxGetField(PARAMETERS,0,"CmJump"));
    4440        FetchData(&n_value,STEP);
    4541
    4642        optargs.function_name=function_name;
    47         optargs.models=MODELS;
    48         optargs.param_g=PG;
    49         optargs.grad_g=GRADIENT;
     43        optargs.femmodel=FEMMODEL;
    5044        optargs.n=STEP;
    51         optargs.analysis_type=mxGetField(PARAMETERS,0,"analysis_type");
    52         optargs.sub_analysis_type=mxGetField(PARAMETERS,0,"sub_analysis_type");
    5345
    5446        optpars.xmin=xmin;
    5547        optpars.xmax=xmax;
    5648        optpars.tolerance=tolerance;
    57         optpars.maxiter=maxiter;
     49        optpars.maxiter=(int)maxiter[n_value-1];
    5850        optpars.cm_jump=cm_jump[n_value-1];
    5951
     
    6759        xfree((void**)&function_name);
    6860        xfree((void**)&cm_jump);
     61        xfree((void**)&maxiter);
    6962
    7063        /*end module: */
     
    7568{
    7669        _printf_("\n");
    77         _printf_("   usage: [search_scalar J] = %s(function_name,xmin,xmax,options,m,p_g,grad_g,step,parameters)\n",__FUNCT__);
     70        _printf_("   usage: [search_scalar J] = %s(function_name,xmin,xmax,options,femmodel,step,parameters)\n",__FUNCT__);
    7871        _printf_("\n");
    7972}
  • issm/trunk/src/mex/ControlOptimization/ControlOptimization.h

    r4236 r4539  
    2121#define XMAX (mxArray*)prhs[2]
    2222#define OPTIONS (mxArray*)prhs[3]
    23 #define MODELS (mxArray*)prhs[4]
    24 #define PG (mxArray*)prhs[5]
    25 #define GRADIENT (mxArray*)prhs[6]
    26 #define STEP (mxArray*)prhs[7]
    27 #define PARAMETERS (mxArray*)prhs[8]
     23#define FEMMODEL (mxArray*)prhs[4]
     24#define STEP (mxArray*)prhs[5]
     25#define PARAMETERS (mxArray*)prhs[6]
    2826
    2927/* serial output macros: */
     
    3533#define NLHS  2
    3634#undef NRHS
    37 #define NRHS  9
     35#define NRHS  7
    3836
    3937#endif  /* _CONTROLOPTIMIZATION_H */
    40 
    41 
Note: See TracChangeset for help on using the changeset viewer.