Setting the Output of a MEX Function as One of the Inputs After In Place Manipulation
Ältere Kommentare anzeigen
I have simple MEX function.
It gets 2 arrays and output one array.
I want to manipulate the input arrays in place within the MEX function and then chain one of the arrays as the output.
Basically something like:
```
// Get Data Pointers
double * mI = (double *)mxGetData(prhs[0]);
double * mO = (double *)mxGetData(prhs[1]);
// Work on data
MyFun(mI, mO); // Manipulate mO and mI in place
// Set output
plhs[0] = mxCreateNumericMatrix(0, 0, mxDOUBLE_CLASS, mxREAL);
mxSetDoubles(plhs[0], mxGetDoubles(prhs[1]));
mxSetM(plhs[0], mxGetM(prhs[1]));
mxSetN(plhs[0], mxGetN(prhs[1]));
```
Yet my code keep crashing (Eve when I comment my own function `MyFun` so basically all the code does is set the output to prhs[1]).
Any idea why? Is this not allowed?
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Write C Functions Callable from MATLAB (MEX Files) finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!