web-dev-qa-db-fra.com

Comment créer un fichier .exe exécutable à partir d'un fichier .m

Je me demandais s'il est possible de créer un fichier '.exe' à partir d'un fichier '.m' dans matlab, de sorte qu'il puisse être exécuté sur une machine ne disposant pas de MATLAB (comme c'est le cas en C, C++) Je sais qu’écrire une fonction MATLAB est un moyen, mais je ne sais pas si elle peut s’exécuter sur une machine sans MATLAB. 

Aussi, je voudrais cacher mon code et créer un script pouvant être exécuté par un utilisateur utilisant ses propres fichiers de données.

26
AP.

Le compilateur Matlab est le moyen standard de le faire. mcc est la commande. Matlab Runtime est requis pour exécuter les programmes. Je ne sais pas s'il peut être directement intégré à l'exécutable ou non.

22
phoebus

Si MATLAB Compiler est installé sur votre ordinateur, il existe une option d'interface graphique pour la compilation. Essayez d'entrer

deploytool

dans la ligne de commande. Mathworks explique très bien comment l'utiliser dans ce didacticiel vidéo: http://www.mathworks.com/products/demos/compiler/deploytool/index.html

En outre, si vous souhaitez inclure une entrée utilisateur telle que la sélection d’un fichier ou d’un répertoire, examinez les options suivantes:

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

à utiliser avec

guide
9
Doresoom

Essayer:

mcc -m yourfile

Voir aussi help mcc

7
Andreas Bonini

Si votre code est davantage une routine d'analyse de données (vs visualisation/interface graphique), essayez GNU Octave . C'est gratuit et beaucoup de ses fonctions sont compatibles avec MATLAB. (Pas 100% mais peut-être 99,5%.)

2
Jason S
mcc -?

explique que la syntaxe permettant de créer * .exe (application autonome) avec * .m est la suivante:

 mcc -m <matlabFile.m> 

Par exemple:

mcc -m file.m

créera file.exe dans le répertoire actuel.

1
Nicolas Verhelst

La méthode "StandAlone" pour compiler un fichier (ou des fichiers) .m requiert un ensemble de fichiers de bibliothèques publiées Matlab (.dll) sur une plate-forme cible (non-Matlab) pour permettre l'exécution du fichier .exe généré par le compilateur.

Consultez le site principal de MATLAB pour connaître leurs produits de compilation et leurs limites. 

1
Francis

Auparavant, il était possible de compiler Matlab en C avec les anciennes versions de Matlab. Découvrez les autres outils fournis par Matlab.

Le code Matlab le plus récent peut être exporté sous forme de jar Java ou de DLL .Net, etc. Vous pouvez ensuite écrire un fichier exécutable dans cette bibliothèque. Les utilisateurs devront installer un Matlab Runtime disponible gratuitement.

Comme d'autres, citons, mcc/mcc.exe est ce que vous souhaitez convertir le code matlab en code C.

1
Hamish Grubijan

J'ai développé un logiciel non-matlab pour la compilation directe de fichiers m ( TMC Compiler ). Il s'agit d'un convertisseur open-source de projets m-files en C. Le compilateur produit le code C pouvant être lié à la bibliothèque d'exécution open-source fournie afin de produire une application autonome. La bibliothèque implémente un ensemble de fonctions intégrées; les opérations d'algèbre linéaire utilisent le code LAPACK. Il est possible d'étendre l'ensemble des fonctions intégrées par une implémentation personnalisée, comme décrit dans la documentation. 

0
csafonov