• Viernes 8 de Noviembre de 2024, 21:43

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - fernandovallecordoba

Páginas: [1]
1
C/C++ / mexxFunction Matrices??
« en: Sábado 21 de Febrero de 2009, 02:03 »
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.

2
C/C++ / Re: Matrices C++ !!
« en: Sábado 1 de Noviembre de 2008, 13:47 »
Muchas gracias por las respuestas.

Quiza lo que sea más facil (no tengo mucha idea de C++ y huyo de los punteros) sea utilizar la clase Vector.

Una pregunta, cuando desde la funcion mexFunction llamo a otra funcion escrita en C y le paso una matriz... dentro de esta funcion en C, como puedo empezar a trabajar con la matriz¿¿ Tengo que meter elemento a elemento en un objeto de la clase vector?

3
C/C++ / Re: Matrices C++ !!
« en: Lunes 27 de Octubre de 2008, 17:48 »
Gracias por el código!

Pero... la verdad es que no me entero muy bien de lo que haces en el código. Esperaba algo mas simple. En el codigo que tengo que hacer tengo que trabajar con 5 ó 6 matrices ala vez  haciendo operaciones con ellas...

No sabia que tenia que crearme funciones específicas para crear las matrices, bucles, destructores y demas...

4
C/C++ / Matrices C++ !!
« en: Domingo 19 de Octubre de 2008, 21:42 »
Hola,

tengo que hacer un programa en C++ y la verdad es que ando perdido con el tema de las matrices. Tengo que pasar un programa hecho en matlab a C++, y claro este último el tema de las matrices y arrays parece que es bastante chungo.

Os dejo aqui mi consulta por si alguien pudiera ayudarme. Muchisimas gracias.

Basicamente el problema es que quiero declarar una variable global que sea una matriz de double, pero no se el tamaño ni el contenido de la misma, pues se calcula cuando llamo a una funcion. La idea seria algo asi:


#include <math.h>
#include "matrix.h"
#include "mex.h"
...

double K[][];
void etapsvmSMO();
..


void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]){
...
...
}

void etapsvmSMO(){

K = gaussiankernel(...);

}


Y esa es la historia, no se como hacer para no tener que indicar el tamaño del array al declararlo, ya que no lo sé, depende de cuando llame a gaussiankernel(...)... alguna idea?

graciassss,fer.

Páginas: [1]