2009-12-18 1 views
24

मैं सोच रहा था कि matlab में '.m' फ़ाइल से '.exe' फ़ाइल बनाने का कोई तरीका है, जैसे कि यह मशीन में चलाया जा सकता है जो करता है matlab नहीं है (जैसे इसे सी, सी ++ में किया जा सकता है) मुझे पता है कि एक मैटलैब फ़ंक्शन लिखना एक तरीका है, लेकिन यह सुनिश्चित नहीं है कि यह मैटलैब के बिना मशीन में चलाया जा सकता है।.m फ़ाइल से निष्पादन योग्य .exe फ़ाइल कैसे बनाएं

इसके अलावा मैं अपना कोड छिपाना चाहता हूं और केवल एक स्क्रिप्ट बनाना चाहता हूं जिसे उपयोगकर्ता द्वारा अपनी डेटा फ़ाइलों का उपयोग करके चलाया जा सकता है। धन्यवाद

उत्तर

20

Matlab Compiler यह करने के लिए मानक तरीका है। mcc कमांड है। कार्यक्रम चलाने के लिए Matlab रनटाइम की आवश्यकता है; मुझे यकीन नहीं है कि इसे निष्पादन योग्य के साथ सीधे एकीकृत किया जा सकता है या नहीं।

+12

ध्यान देने योग्य एक बात - यह एक टूलबॉक्स है जिसके लिए आपको अतिरिक्त भुगतान करना होगा। –

+0

अच्छा बिंदु। मुझे यकीन नहीं था क्योंकि मैंने हमेशा विश्वविद्यालय स्थापित करने पर काम किया है जिसमें इसे शामिल किया गया है। – phoebus

+1

मैटलैब कंपाइलर मूल्यवान है - यह आपको $ 5K वापस सेट करेगा। – Doresoom

6

प्रयास करें:

mcc -m yourfile 

भी देखें help mcc

+0

धन्यवाद, यह बहुत अच्छा काम करता है, लेकिन यह सुनिश्चित नहीं है कि यह गैर matlab स्थापित मशीनों में काम करता है। –

+0

मेरे लिए काम नहीं किया गया है, इसकी आवश्यकता एमसीआर – zhilevan

0

मैटलैब के पुराने संस्करणों के साथ मैटलैब को सी को संकलित करना संभव था। Matlab के साथ आने वाले अन्य टूल्स देखें।

नवीनतम मैटलैब कोड को जावा के जार या नेट डेल आदि के रूप में निर्यात किया जा सकता है। फिर आप उस लाइब्रेरी के खिलाफ निष्पादन योग्य लिख सकते हैं - यह रास्ते से खराब हो जाएगा। उपयोगकर्ताओं को एक स्वतंत्र रूप से उपलब्ध Matlab रनटाइम स्थापित करना होगा।

अन्य लोगों की तरह, mcc/mcc.exe वह है जिसे आप मैटलैब कोड को सी कोड में कनवर्ट करना चाहते हैं।

2

यदि आपका कोड डेटा विश्लेषण दिनचर्या (बनाम विज़ुअलाइज़ेशन/जीयूआई) से अधिक है, तो GNU Octave आज़माएं। यह मुफ़्त है और इसके कई फ़ंक्शन MATLAB के साथ संगत हैं। (100% नहीं बल्कि शायद 99.5%।)

+25

99.32% आंकड़े इस जगह पर बने हैं –

9

यदि आपके पास MATLAB कंपाइलर स्थापित है, तो संकलन के लिए एक GUI विकल्प है।

deploytool 

कमांड लाइन में प्रवेश करने का प्रयास करें। Mathworks एक बहुत अच्छा कैसे इस वीडियो ट्यूटोरियल में इसका इस्तेमाल करने के दस्तावेजीकरण का काम करता है: इस तरह के एक फ़ाइल या निर्देशिका का चयन के रूप में http://www.mathworks.com/products/demos/compiler/deploytool/index.html

इसके अलावा, अगर आप उपयोगकर्ता इनपुट शामिल करना चाहते हैं, में उपयोग के लिए

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

पर गौर

guide 
1

"स्टैंडअलोन" विधि के साथ संयोजन के रूप .m फ़ाइल संकलित करने के लिए (या फ़ाइलें) संकलक के निष्पादन की अनुमति के लिए एक लक्ष्य (गैर Matlab) मंच पर मैटलैब प्रकाशित पुस्तकालय (.dll) फ़ाइलों का एक सेट की आवश्यकता है उत्पन्न .exe।

उनके कंपाइलर उत्पादों और उनकी सीमाओं के लिए MATLAB मुख्य साइट देखें।

0

मैंने एम-फाइलों के सीधे संकलन के लिए एक गैर-मैटलैब सॉफ्टवेयर विकसित किया (TMC Compiler)। यह सी-फाइलों के लिए एम-फाइल प्रोजेक्ट का ओपन-सोर्स कनवर्टर है। कंपाइलर सी कोड उत्पन्न करता है जो स्टैंड-अलोन एप्लिकेशन बनाने के लिए प्रदान की गई ओपन-सोर्स रन-टाइम लाइब्रेरी से जुड़ा हो सकता है। लाइब्रेरी बिल्ड-इन फ़ंक्शंस का एक सेट लागू करता है; रैखिक-बीजगणित संचालन LAPACK कोड का उपयोग करते हैं। दस्तावेज़ीकरण में वर्णित अनुसार कस्टम कार्यान्वयन द्वारा बिल्ड-इन फ़ंक्शंस के सेट का विस्तार करना संभव है।