#include void mexFunction (int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { mexPrintf ("Hello, World!\n"); /* Demonstrate returning a matrix with a double value */ mxArray *v = mxCreateDoubleMatrix (1, 1, mxCOMPLEX); #if MX_HAS_INTERLEAVED_COMPLEX mexPrintf ("Interleaved\n"); mxComplexDouble *data = mxGetComplexDoubles (v); data->real = 1.23; data->imag = 3.21; #else mexPrintf ("Classic\n"); double *re_data = mxGetPr (v); double *im_data = mxGetPi (v); *re_data = 6.54; *im_data = 4.56; #endif plhs[0] = v; /* Return empty matrices for any other outputs */ int i; for (i = 1; i < nlhs; i++) plhs[i] = mxCreateDoubleMatrix (0, 0, mxREAL); }