Exemplo n.º 1
0
//-----------------------------------------------------------------------------
static double RandGauss(void)   // standard normal random number
{
    double r = 0;
    for (int i = 0; i < 12; i++)    // by central limit theorem sum of uniforms is gaussian
        r += RandUniform();
    return r / 2;
}
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;
    
}