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 comentarios

Jan
Jan el 25 de Jun. de 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 el 25 de Jun. de 2013
Editada: sandeep el 25 de Jun. de 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?

Iniciar sesión para comentar.

 Respuesta aceptada

Friedrich
Friedrich el 25 de Jun. de 2013
Editada: Friedrich el 25 de Jun. de 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.

Más respuestas (0)

Categorías

Más información sobre Write C Functions Callable from MATLAB (MEX Files) en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 25 de Jun. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by