Bonjour,

je commence tout juste à utiliser mex pour pouvoir utiliser du code C dans Matlab. Je pense avoir cerné les rouages de base mais j'ai un petit problème.

Je n'arrive pas à transmettre un Integer en argument d'entrée. J'ai cru comprendre que la fonction mxGetPr sert à récupérer un pointeur lié à une variable de type double, et que par conséquent, pour un Integer, il faut que j'utilise mxGetData. Cependant je n'arrive pas à récupérer la valeur de cet entier...

Voici la façon dont je m'y prend :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
#include "mex.h"
 
void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] ) 
{  
int *x;
x = mxGetData(prhs[0]);
}
Si je fait un , j'obtiens une valeur complètement incohérente...

Sauriez-vous me dire ce qui ne fonctionne pas dans mon code et comment le corriger?

Je précise que j'arrive à le faire avec un double et la fonction mxGetPr.

Je vous remercie d'avance!

Romain