2009-12-18 13 views
24

Ich frage mich, ob es eine Möglichkeit gibt, eine '.exe' Datei von '.m' Datei in Matlab zu erstellen, so dass es in der Maschine ausgeführt werden kann, die tut nicht Matlab (wie es in c getan werden kann, C++) Ich weiß, eine Matlab-Funktion ist eine Möglichkeit, aber nicht sicher, ob es in der Maschine ohne Matlab laufen kann.Wie erstellt man eine ausführbare .exe-Datei von .m Datei

Auch ich möchte meinen Code verstecken und nur ein Skript erstellen, das von einem Benutzer mit seinen eigenen Dateien ausgeführt werden kann. Dank

Antwort

20

Die Matlab Compiler ist der normale Weg sehen, dies zu tun. mcc ist der Befehl. Die Matlab Runtime wird benötigt, um die Programme auszuführen; Ich bin mir nicht sicher, ob es direkt in die ausführbare Datei integriert werden kann oder nicht.

+12

Eine Sache zu beachten - das ist eine Toolbox, die Sie extra bezahlen müssen. –

+0

Guter Punkt. Ich war mir nicht sicher, weil ich immer an Universitätsinstallationen gearbeitet habe, die es enthielten. – phoebus

+1

Der Matlab Compiler ist teuer - es kostet $ 5K. – Doresoom

6

Versuchen:

mcc -m yourfile 

Auch help mcc

+0

Danke, es funktioniert gut, aber nicht sicher, ob es in nicht Matlab installierten Maschinen funktioniert. –

+0

notworked für mich, seine Notwendigkeit MCR – zhilevan

0

Es war früher möglich, Matlab mit älteren Matlab-Versionen zu kompilieren. Sehen Sie sich andere Tools an, mit denen Matlab ausgestattet ist.

Neuester Matlab-Code kann als Java-Jar oder .Net-Dll usw. exportiert werden. Sie können dann eine ausführbare Datei gegen diese Bibliothek schreiben - sie wird übrigens verschleiert. Die Benutzer müssen eine frei verfügbare Matlab Runtime installieren.

Wie andere erwähnt, ist mcc/mcc.exe, was Sie wollen Matlab-Code in C-Code konvertieren.

2

Wenn Ihr Code eher eine Datenanalyse-Routine (vs. Visualisierung/GUI) ist, versuchen Sie GNU Octave. Es ist kostenlos und viele Funktionen sind mit MATLAB kompatibel. (Nicht 100% aber vielleicht 99,5%.)

+25

99.32% der Statistiken werden vor Ort gemacht –

9

Wenn Sie den MATLAB Compiler installiert haben, gibt es eine GUI-Option zum Kompilieren. Geben Sie

deploytool 

in der Befehlszeile ein. Mathworks hat einen ziemlich guten Job zu dokumentieren, wie es in diesem Video-Tutorial verwenden: http://www.mathworks.com/products/demos/compiler/deploytool/index.html

Auch, wenn Sie Benutzereingaben umfassen, wie beispielsweise die Wahl einer Datei oder eines Verzeichnisses möchten, schauen Sie in

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

für den Einsatz in Verbindung mit

guide 
1

die „stand alone“ Methode .m-Datei (oder Dateien) erfordert eine Reihe von Matlab veröffentlichte Bibliothek (DLL) Dateien auf einem Ziel (nicht-Matlab) Plattform zu kompilieren Ausführung des Compilers zu ermöglichen generiert .exe.

Überprüfen Sie die Haupt-Website von MATLAB auf ihre Compiler-Produkte und ihre Einschränkungen.

0

Ich entwickelte eine non-Matlab-Software für die direkte Zusammenstellung von M-Dateien (TMC Compiler). Dies ist ein Open-Source-Konverter von M-Files-Projekten nach C. Der Compiler erzeugt den C-Code, der mit der bereitgestellten Open-Source-Laufzeitbibliothek verknüpft werden kann, um eine eigenständige Anwendung zu erzeugen. Die Bibliothek implementiert eine Reihe von eingebauten Funktionen; Die linearen Algebra-Operationen verwenden LAPACK-Code. Es ist möglich, die Menge der eingebauten Funktionen durch eine benutzerdefinierte Implementierung zu erweitern, wie in der Dokumentation beschrieben.

Verwandte Themen