MATLAB es un entorno de programación técnica optimizada para competir con la velocidad y la eficiencia del lenguaje C cuando se trata de operaciones vectoriales . Sin embargo , hay un cierto conjunto de operaciones en la que C es mucho más eficiente . Puede ser beneficioso para escribir ciertas partes de su flujo de trabajo , tanto en los programas de C C. MATLAB y puede ser compilado en subrutinas MATLAB usando la utilidad " MEX " . Instrucciones
1
crear una copia del archivo de programa C desea adaptar en una subrutina MATLAB .
2
Añadir el archivo de cabecera " mex.h " a la archivo de programa C que desea compilar en un subprograma MATLAB :
# include " mex.h "
3
Agregar una función de puerta de enlace " mexFunction " a su C archivo de programa después de que su función subrutina para actuar como una interfaz entre MATLAB y el código C . Los argumentos de " mexFunction " debe incluir todos los argumentos de entrada y salida de la subrutina .
4
Escribir código en " mexFunction " para validar el número de entradas y salidas necesarias , así como el buen tipo de datos , tamaño y alcance. El lenguaje y las funciones de C no fracasan con tanta gracia como funciones de MATLAB basadas en scripts
5
Utilice la función " mexErrMsgIdAndTxt ()" para lanzar los errores de MATLAB cuando los argumentos son incorrectos : .
mexErrMsgIdAndTxt ( " MyToolbox : myMexFunction : missingInput " , . " . Falta de entrada myMexFunction requiere 2 entradas ");
6 Uso de las funciones MEX " getter "
convertir de formato MATLAB datos de entrada de datos de formato C:
myNumber = mxGetScalar ( myInputs [ 0 ] ) ; myMatrixPointer = mxGetPr ( myInputs [ 1 ] ) ;
Consulte la documentación de MATLAB para obtener una lista completa de estas funciones.
7 Uso de las funciones MEX " crear"
para crear datos de MATLAB en el que almacenar el resultado de la función C . La entrada " mxREAL " especifica el tipo de datos