passing value from mex file to Matlab

8 views (last 30 days)
Am writing a multi threaded program in Matalb..Hence am taking the support of Mex to do...Am having some set of variable in the mex space..which I want to return it back to the Matlab workspace..Please somebody tell how to do it..
  2 Comments
Jan
Jan on 25 Jun 2013
The question is too vague to be answered. In my MEX programs the results are collected in one array and replied as Matlab-array. But I do not think, that this is helpful already.
sandeep
sandeep on 25 Jun 2013
Edited: sandeep on 25 Jun 2013
sorry its like am having a function in a cpp program like
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray
*prhs[])
{
double y=10;
}
I want to do some more manipulation on the value y in this function and return it to Matlab workspace...To do this I executed mex which created mexw64 file...Upton execution of this file I want to value y to be available to matlab workspace...Is it possible?

Sign in to comment.

Accepted Answer

Friedrich
Friedrich on 25 Jun 2013
Edited: Friedrich on 25 Jun 2013
Hi,
#include "mex.h"
void manipulate(double* y){
*y = 20;
}
void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
plhs[0] = mxCreateDoubleScalar(10);
//uncomment this get the the value 20 in MATLAB, otherwise you get 10
//manipulate(mxGetPr(plhs[0]));
}
Overall i think the best is to get started in the MEX documentation or here or take a look at some examples.

More Answers (0)

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!