2009-12-18 89 views
24

Me preguntaba si hay una manera de crear un archivo '.exe' a partir del archivo '.m' en matlab, de modo que pueda ejecutarse en una máquina que sí lo haga no tiene matlab (como se puede hacer en c, C++) Sé que escribir una función de Matlab es de una forma, pero no estoy seguro si se puede ejecutar en la máquina sin Matlab.Cómo crear un archivo .exe ejecutable desde el archivo .m

También me gustaría esconder mi código y simplemente crear un script que pueda ser ejecutado por un usuario usando sus propios archivos de datos. Gracias

Respuesta

20

El Matlab Compiler es la manera estándar de hacer esto. mcc es el comando. El Matlab Runtime es requerido para ejecutar los programas; No estoy seguro si se puede integrar directamente con el ejecutable o no.

+12

Una cosa a tener en cuenta: esta es una caja de herramientas por la que hay que pagar más. –

+0

Buen punto. No estaba seguro porque siempre he trabajado en las instalaciones de la Universidad que lo incluían. – phoebus

+1

El compilador de Matlab es caro, te costará $ 5K. – Doresoom

6

Probar:

mcc -m yourfile 

ver también help mcc

+0

Gracias, funciona muy bien, pero no estoy seguro si funciona en máquinas no instaladas en matlab. –

+0

no trabajado para mí, es necesario MCR – zhilevan

0

Solía ​​ser posible compilar Matlab a C con versiones anteriores de Matlab. Vea otras herramientas con las que viene Matlab.

El código más nuevo de Matlab se puede exportar como un jar de Java o .Net Dll, etc. Luego, puede escribir un archivo ejecutable contra esa biblioteca; por cierto, se ofuscará. Los usuarios deberán instalar un Matlab Runtime de libre disponibilidad.

Como otros mencionados, mcc/mcc.exe es lo que desea para convertir el código de matlab en código C.

2

Si su código es más una rutina de análisis de datos (frente a la visualización/GUI), intente GNU Octave. Es gratis y muchas de sus funciones son compatibles con MATLAB. (No 100% pero tal vez 99.5%.)

+25

99.32% de las estadísticas se componen en el acto –

9

Si tiene el compilador MATLAB instalado, hay una opción de GUI para compilar. Intente ingresar

deploytool 

en la línea de comando. MathWorks hace un muy buen trabajo que documenta cómo usarlo en este video tutorial: http://www.mathworks.com/products/demos/compiler/deploytool/index.html

Además, si desea incluir la entrada del usuario, tales como la elección de un archivo o directorio, mira en

uigetfile % or uigetdir if you need every file in a directory 

para su uso en junto con

guide 
1

el método de "Independiente" para compilar el archivo .m (o archivos) requiere un conjunto de biblioteca publicada Matlab (.dll) en una plataforma de destino (no Matlab) para permitir la ejecución del compilador generado .exe.

Consulte el sitio principal de MATLAB para ver los productos del compilador y sus limitaciones.

0

Desarrollé un software no matlab para la compilación directa de archivos m (TMC Compiler). Este es un convertidor de fuente abierta de proyectos de archivos m a C. El compilador produce el código C que puede vincularse con la biblioteca de tiempo de ejecución de código abierto proporcionada para producir una aplicación independiente. La biblioteca implementa un conjunto de funciones incorporadas; las operaciones de álgebra lineal usan el código LAPACK. Es posible expandir el conjunto de funciones incorporadas mediante la implementación personalizada como se describe en la documentación.

Cuestiones relacionadas