Guidance in writing mexFunction for convert.c

3 Ansichten (letzte 30 Tage)
sidra
sidra am 15 Dez. 2013
Kommentiert: sidra am 24 Dez. 2013
I have data in CSV (comma seperated value) format, i need it in the libsvm format. I found a c code to do it: http://www.csie.ntu.edu.tw/~cjlin/libsvm/faqfiles/convert.c
But i want to call this in matlab. So i need to include a mexFunction in convert.c , could anyone guide me/help me out with writing this function?

Akzeptierte Antwort

James Tursa
James Tursa am 23 Dez. 2013
Try putting this at the top of the file and then mex it:
// One input argument: The Filename
int main(int argc, char **argv);
#include "mex.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
int argc = 2;
char *argv[2];
if( nrhs == 1 && mxIsChar(prhs[0]) ) {
argv[1] = mxArrayToString(prhs[0]);
main(argc,argv);
mxFree(argv[1]);
} else {
mexErrMsgTxt("Expected one input, the filename");
}
}

Weitere Antworten (0)

Kategorien

Mehr zu Write C Functions Callable from MATLAB (MEX Files) finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by