2009-12-18 84 views
24

Mi chiedevo se esiste un modo per creare un file '.exe' dal file '.m' in matlab, in modo tale che possa essere eseguito in macchina che non ho matlab (come si può fare in c, C++) So che scrivere una funzione Matlab è unidirezionale, ma non sono sicuro che possa funzionare in macchina senza Matlab.Come creare un file .exe eseguibile dal file .m

Inoltre, vorrei nascondere il mio codice e creare solo uno script che può essere eseguito da un utente utilizzando i propri file di dati. Grazie

risposta

20

Il Matlab Compiler è il modo standard di fare questo. mcc è il comando. Il Matlab Runtime è necessario per eseguire i programmi; Non sono sicuro se possa essere direttamente integrato con l'eseguibile o meno.

+12

Una cosa da notare - questa è una cassetta degli attrezzi che devi pagare un extra. –

+0

Buon punto. Non ero sicuro perché ho sempre lavorato su installazioni universitarie che lo includevano. – phoebus

+1

Il compilatore Matlab è costoso: ti costerà $ 5K. – Doresoom

6

Prova:

mcc -m yourfile 

vedere anche help mcc

+0

Grazie, funziona benissimo, ma non è sicuro che funzioni su macchine non MATLAB installate. –

+0

non elaborato per me, ha bisogno di MCR – zhilevan

0

Era possibile compilare Matlab in C con versioni precedenti di Matlab. Scopri altri strumenti con cui Matlab viene fornito.

Il codice di Matlab più recente può essere esportato come un jar Java o una .Net Dll, ecc. È quindi possibile scrivere un eseguibile contro quella libreria, che verrà comunque offuscata. Gli utenti dovranno installare un Matlab Runtime disponibile gratuitamente.

Come altri già menzionati, mcc/mcc.exe è ciò che si desidera convertire il codice matlab in codice C.

2

Se il codice è più di una routine di analisi dei dati (vs visualizzazione/GUI), provare GNU Octave. È gratuito e molte delle sue funzioni sono compatibili con MATLAB. (Non 100% ma forse 99,5%.)

+25

Il 99,32% delle statistiche sono compilate sul posto –

9

Se il compilatore MATLAB è installato, è disponibile un'opzione GUI per la compilazione. Prova a inserire

deploytool 

nella riga di comando. Mathworks fa un buon lavoro che documenta come usarlo in questo video tutorial: http://www.mathworks.com/products/demos/compiler/deploytool/index.html

Inoltre, se si desidera includere l'input dell'utente come ad esempio la scelta di un file o una directory, guardare in

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

per l'uso in collaborazione con

guide 
1

il metodo "indipendente" per compilare il file .m (o file) richiede un insieme di Matlab biblioteca pubblicato (.dll) i file su una piattaforma di destinazione (non Matlab) per consentire l'esecuzione del compilatore generato .exe.

Controllare il sito principale MATLAB per i relativi prodotti del compilatore e le relative limitazioni.

0

Ho sviluppato un software non MATLAB per la compilazione diretta di m-file (TMC Compiler). Questo è un convertitore open source di progetti m-files in C. Il compilatore produce il codice C che può essere collegato con la libreria run-time open source fornita per produrre un'applicazione stand-alone. La libreria implementa una serie di funzioni built-in; le operazioni di algebra lineare usano il codice LAPACK. È possibile espandere l'insieme delle funzioni built-in mediante l'implementazione personalizzata come descritto nella documentazione.

Problemi correlati