passing value from mex file to Matlab

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 commentaires

Jan
Jan le 25 Juin 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 le 25 Juin 2013
Modifié(e) : sandeep le 25 Juin 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?

Connectez-vous pour commenter.

 Réponse acceptée

Friedrich
Friedrich le 25 Juin 2013
Modifié(e) : Friedrich le 25 Juin 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.

Plus de réponses (0)

Catégories

En savoir plus sur Write C Functions Callable from MATLAB (MEX Files) dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by