Matlab

Creación de aplicaciones independientes en Matlab

En una entrada anterior se ha visto cómo crear aplicaciones gráficas con Matlab. Con esto se puede conseguir que otros usuarios sin conocimientos técnicos puedan acceder a las funcionalidades creadas. Aunque tiene un problema, cada usuario ha de disponer de una licencia de Matlab para ejecutar el código. Para solucionar esto se puede utilizar la toolbox MATLAB Compiler, con la cual se pueden crear aplicaciones independientes en Matlab. A continuación, se explicará cómo usar esta toobox para crear y distribuir aplicaciones.

Creación de la aplicación

Para crear una aplicación con Matlab es necesario disponer de una licencia de MATLAB Compiler e instalar la toolbox. Cuando esta se encuentra instalada se puede acceder a la función mcc con la que se pueden compilar aplicaciones. Para ello se ha de escribir la siguiente línea en la terminal

mcc -m fun.m

Esto creará una versión compilada de la función en un archivo ejecutable. Por ejemplo, en Windows se creará un archivo con extensión exe y en Mac un paquete ejecutable con extensión app. En el caso de que fun.m haga requiera otras funciones el compilador las incluirá automáticamente, salvo que se llamen mediante eval. Desgraciadamente Matlab no ofrece la posibilidad de realizar compilación cruzada. Un programa compilado en Mac solamente se podrá ejecutar en Mac y lo mismo para los compilados en Windows o Linux.

En Windows al ejecutarse las aplicaciones aparecerá una terminar con la salida. En caso de que no se desee que aparezca se ha de cambiar la opción -m por `-e.

mcc -e fun.m

Inclusión de otros archivos en el paquete compilado

En caso de que se cree aplicaciones en las que se necesitan otros archivos, por ejemplo, datos o imágenes es necesario indicar estos al compilador para que los incluya. Esto también afecta a las funciones que se llaman mediante eval en lugar de directamente. La forma para indicar los archivos a incluir es mediante la opción -a seguido del archivo. Por ejemplo, para incluir una imagen la aplicación se ha se utilizar la siguiente línea.

mcc -m fun.m -a img.jpg

Lo que incluirá el archivo img.jpg dentro del archivo compilado.

Renombrando el archivo ejecutable

El archivo ejecutable no tiene por que tener el mismo nombre que el código. Mediante la opción -o se le puede indicar el nombre del archivo. Por ejemplo, al escribir el siguiente comando

mcc -m fun.m -o myapp

El ejecutable generado tendrá el nombre myapp en lugar de fun.

Distribuyendo el programa a otros usuarios

Una vez compilada la aplicación se ha de enviar esta al usuario final. Antes de ejecutar la aplicación este ha de instalar MATLAB Runtime en su ordenador. Estas librerías se puede descargar en la web de Matlab: MATLAB Runtime.

El MATLAB Runtime es específico para la versión de Matlab en la que se ha compilado. En caso de que exista una versión posterior del MATLAB Runtime esta no ejecuta los compilados generados en versiones anteriores. Por lo que se ha de indicar al usuario final en qué versión de Matlab se ha generado el ejecutable. Afortunadamente, es posible instalar más de una versión a la vez en el mismo ordenador, facilitando trabajar con compilados generados en diferentes versiones.

Conclusiones

En esta entrada se ha visto cómo crear aplicaciones independientes con Matlab y distribuirlas a usuarios finales. Esto permite distribuir el trabajo sin que los usuarios finales necesitan disponer de una licencia de Matlab en sus ordenadores.

Imágenes: Pixabay (rawpixel)

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Calibración vs Discriminación en Credit Scoring: diferencias clave y cómo evaluarlas

Imagina que construyes un modelo de credit scoring y obtienes un Gini de 0,65. Un…

3 días ago

Ley de Benford: cómo detectar datos manipulados con ejemplos reales

En un mundo donde los datos se han convertido en el lenguaje dominante de la…

1 semana ago

Subplots en Matplotlib: cómo organizar múltiples gráficos en una sola figura

Llevas un rato analizando datos y tienes cuatro gráficos abiertos en ventanas separadas: ventas, usuarios,…

1 semana ago

Síndrome del objeto brillante en ciencia de datos: el error simétrico a los costes hundidos

Hace poco publiqué una entrada en la que trataba de un sesgo bien documentado: aferrarse…

2 semanas ago

De la Regresión Logística al Scorecard: La Transformación Matemática

En un entrada previa explicamos qué son el WOE y el IV y por qué…

2 semanas ago

This website uses cookies.