Effacer les filtres
Effacer les filtres

Mex: Using arguments for definition an array

2 vues (au cours des 30 derniers jours)
mick strife
mick strife le 20 Avr 2013
Hello my friends :-)
I want to use the arguments from matlab in my mex/c-code and use them to define an array. Unfortunately an error appears. Can someone pls give a an advise for this problem? Many thanks for your help!
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
int sizeA;
mxArray *arg;
arg= prhs[0];
sizeA = mxGetScalar(arg);
int dim[3] = {100,3, sizeA}; // define array

Réponse acceptée

James Tursa
James Tursa le 20 Avr 2013
Modifié(e) : James Tursa le 20 Avr 2013
Some C compilers need to have all variable declarations first, before executable statements. So try this instead:
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
int sizeA;
mxArray *arg; // variable declaration
int dim[3] = {100,3, 0}; // variable declaration
arg = prhs[0];
sizeA = mxGetScalar(arg);
dim[2] = sizeA;
  1 commentaire
mick strife
mick strife le 21 Avr 2013
thx for your effort :) that was really helpful

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Write C Functions Callable from MATLAB (MEX Files) dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by