Пример #1
0
void newcal(){
   int i,j;
   for(i=0;i<N;i++){
      for(j=0;j<Dim;j++){
         rnew[i][j] = rold[i][j] + (fpold[i][j]*Kb*T*h)/(zi*diam) + sqrt(2.0*Dif*h)*RandNormal();
         rnew[i][j] = rnew[i][j] - round(rnew[i][j]/L)*L;
      }
   }
}
Пример #2
0
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//
// given rold and fpold, return rnew
void newcal(){
    
    int i,j;
    for(i=0;i<N;i++){        // calculate positions of next time step
        for(j=0;j<Dim;j++){
        rnew[i][j]  =  rold[i][j]  + fpold[i][j]*h + sqrt(2.0*Dif*h)*RandNormal();  // over damped Langevin equation
        rnew[i][j]  =  rnew[i][j] - round(rnew[i][j]/L)*L; // making boundaries
// apply periodic boundary condition: if rnew[i][j]<L/2 -> rnew[i][j]=rnew[i][j]
//                                  : if rnew[i][j]>L/2 -> rnew[i][j]=rnew[i][j]-L
                           }
                     }
              }
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
//declare variables
    double *FunctionID;
    int functionID;
//associate inputs    
    FunctionID = mxGetPr(prhs[0]);
    functionID = (int) *FunctionID;
    
// Depending on the functionID call the corresponding function
    switch(functionID){
        case 1: // PCAIC
        {
            PCAIC(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 2: // PCCDF
        {
            PCCDF(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 3: // PCFit
        {
            PCFit(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 4: // PCHfun
        {
            PCHfun(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 5: // PCIndepTest
        {
            PCIndepTest(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 6: // PCInvHfun
        {
            PCInvHfun(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 7: // PCInvVfun
        {
            PCInvVfun(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 8: // PCNegLL
        {
            PCNegLL(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 9: // PCPDF
        {
            PCPDF(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 10: // PCRand
        {
            PCRand(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 11: // PCSelect
        {
            PCSelect(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 12: // PCVfun
        {
            PCVfun(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 101: // VineFit
        {
            VineFit(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 102: // VineFitSeq
        {
            VineFitSeq(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 103: // VineGetPseudoObs
        {
            VineGetPseudoObs(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 104: // VineNegLL
        {
            VineNegLL(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 105: // VineRand
        {
            VineRand(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 106: // VineStructureSelect
        {
            VineStructureSelect(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 1001: // CvMTestStatCPP
        {
            CvMTestStatCPP(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 1002: // FastKendallTau
        {
            FastKendallTau(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 1003: // RandNormal
        {
            RandNormal(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 1004: // RandUniform
        {
            RandUniform(nlhs, plhs, nrhs, prhs);
            break;
        }
        case 1005: // VineCopulaMatlabSetSeed
        {
            VineCopulaMatlabSetSeed(nlhs, plhs, nrhs, prhs);
            break;
        }
        default:
        {
            // Place an error here
        }
    }
    
    return;
    
}