Diferencia entre revisiones de «MATLAB»

De Cerlab Wiki
Saltar a: navegación, buscar
(MEX functions)
(MEX functions)
Línea 12: Línea 12:
 
El objetivo de esta seccion es compilar y ejecutar el  contenido de un archivo C sencillo desde Matlab. <br>
 
El objetivo de esta seccion es compilar y ejecutar el  contenido de un archivo C sencillo desde Matlab. <br>
 
Pasos:
 
Pasos:
#Utilizando su editor de texto favorito, cree un archivo llamado ‘hola.c’ en su área de trabajo de Matlab. Su área de trabajo actual la puede encontrar ejecutando <br/>
+
:1. Utilizando su editor de texto favorito, cree un archivo llamado ‘hola.c’ en su área de trabajo de Matlab. Su área de trabajo actual la puede encontrar ejecutando<br /><code> >> pwd </code>
<code>
+
:2. Agregue el siguiente contenido a su archivo ‘hola.c’<br/>
  >> pwd
+
<nowiki>
</code>
 
#Agregue el siguiente contenido a su archivo ‘hola.c’<br/>
 
<code>
 
 
   #include "mex.h"
 
   #include "mex.h"
 
    
 
    
Línea 23: Línea 20:
 
       printf("Hola mundo!\n");
 
       printf("Hola mundo!\n");
 
       return;
 
       return;
   }
+
   }</nowiki>
</code>
+
:Note que el header ‘mex.h’ es requerido en el archivo. Éste contiene las funciones del API de Matlab. Las demás secciones seran explicadas a lo largo de esta guía.
 +
:3.Una vez guardado el archivo, desde la consola de Matlab ejecute<br/>
 +
<nowiki>
 +
  >> mex hola.c
 +
  Building with 'gcc'.
 +
  MEX completed successfully.
 +
</nowiki>
 +
:4. Una vez que el archivo ha sido satisfactoriamente compilado la función MEX ‘hola’ estará disponible para usarse desde la consola de Matlab:
 +
<nowiki>
 +
  >> hola
 +
  Hola mundo!
 +
</nowiki>

Revisión del 21:50 17 jun 2018

MEX functions

Un archivo MEX permite llamar una función escrita en C desde Matlab. Para ello se hace uso del comando de Matlab ‘mex’ y de un compilador compatible instalado en el sistema operativo.

Eligiendo compilador

Para el sistema operativo Linux la version por defecto del compilador es GCC versión ‘6.3.X’. La lista de compiladores compatibles de acuerdo al sistema instalado se puede consultar aquí. Para corroborar que su sistema posee un compilador compatible (o elegir entre más de un compilador, si su sistema los posee) ejecute lo siguiente:

>> mex -setup
MEX configured to use 'gcc' for C language compilation.

Un primer programa ‘Hola mundo’

El objetivo de esta seccion es compilar y ejecutar el contenido de un archivo C sencillo desde Matlab.
Pasos:

1. Utilizando su editor de texto favorito, cree un archivo llamado ‘hola.c’ en su área de trabajo de Matlab. Su área de trabajo actual la puede encontrar ejecutando
>> pwd
2. Agregue el siguiente contenido a su archivo ‘hola.c’
   #include "mex.h"
   
   void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[]){
      printf("Hola mundo!\n");
      return;
   }
Note que el header ‘mex.h’ es requerido en el archivo. Éste contiene las funciones del API de Matlab. Las demás secciones seran explicadas a lo largo de esta guía.
3.Una vez guardado el archivo, desde la consola de Matlab ejecute
   >> mex hola.c
   Building with 'gcc'.
   MEX completed successfully.

4. Una vez que el archivo ha sido satisfactoriamente compilado la función MEX ‘hola’ estará disponible para usarse desde la consola de Matlab:
   >> hola
   Hola mundo!