Hola, quisiera saber si alguien me podría echar una mano. Tengo un programa en matlab el cual tengo que pasar a C.
La idea es que la funcion reciba una matriz (bidimensional de double) por parametro y trabaje con ella. Mi problema es que no se como hacer que la matriz que recibo en la mexFunction pueda luego usarla en otras funciones. Mi idea es poder hacer lo siguiente:
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]){
prhs[0] = mxCreateDoubleMatrix(rowLen, colLen, mxREAL);
x = mxGetPr(prhs[0]);
funcion(x);
}
void funcion(double* x){
double a;
a=x[2][2]
}
Pero entre que me lio aun con los punteros y no se exactamente en que formato llegan los datos a la mexFunction... Sólo quiero poder usar la matriz en otra funcion, no debe ser muy dificil...
Pero no se si tengo q hacer un array de vectores o si ya esta la memoria reservada... Además, mxCreateDoubleMatrix parece que crea un vector (1 dimension) no una matriz no??
Muchas graciass.