2009-04-11 10 views
5

मैंने अभी मैटलैब के साथ कुछ प्रयोग करना शुरू कर दिया है, और चूंकि मुझे विम के इंटरफेस में उपयोग किया जाता है, इसलिए मैं जितना संभव हो मैटलैब के संपादक से बाहर रहने की कोशिश करता हूं। मुझे परेशान करने वाला यह है कि हर बार जब मैं एक .m फ़ाइल शुरू करता हूं, तो यह इंटरफ़ेस लाता है।cmd पर winlab (winxp)

क्या एक cmd लाइन से test.m शुरू करने का कोई तरीका है, और इसे एक cmd पर आउटपुट दें, क्योंकि यह आमतौर पर मैटलैब के पर्यावरण में होता है। कुछ "मैटलैब खोल" जैसा है (जैसे पायथन, केवल मैटलैब)?

उत्तर

10

आपके प्रश्न का उत्तर है, इस तरह matlab शुरू करने के लिए:

matalb -nodesktop -nosplash

यह दोनों लिनक्स और विंडोज पर काम करता है। लिनक्स पर, आप इसे कमांड प्रॉम्प्ट पर टाइप करते हैं, और मैटलैब पाठ मोड में उसी कमांड विंडो में चलाएगा। तो आपको इच्छित "मैटलैब खोल" मिलेगा। विंडोज़ पर, सीडी निर्देशिका में जहां matlab स्थापित है, और एक ही कमांड टाइप करें। यह matlab डेस्कटॉप की सभी घंटियाँ और सीटी के बिना, एक स्ट्रिप-डाउन मैटलैब कमांड लाइन विंडो खुल जाएगा।

अब मेरी व्यक्तिगत राय में, इसके एकीकृत डीबगर के साथ मैटलैब संपादक आपका मित्र है। अगर यह मदद करता है तो इसमें मुख्य बाइंडिंग भी होती है। आदेशों को निष्पादित करना और मैटलैब डेस्कटॉप में परिणामों को देखना भी आसान है, जब मैटलैब टेक्स्ट मोड में चलाया जाता है। एकमात्र बार जब आप वास्तव में टेक्स्ट मोड का उपयोग करना चाहते हैं तो यह है कि यदि आपका मैटलैब कोड चलाने में लंबा समय लगता है, और आप केवल अंतिम परिणाम में रूचि रखते हैं। या यदि आप matlab के कई उदाहरण चला रहे हैं। टेक्स्ट मोड में बहुत कम मेमोरी होती है, और लिनक्स पर आप आसानी से कमांड लाइन से रन शुरू कर सकते हैं और उसे पृष्ठभूमि में डाल सकते हैं।

वास्तव में, matlab के लिए कमांड लाइन तर्कों की जांच करें। आप अन्य रोचक चीजें कर सकते हैं, जैसे मैटलैब एक एकल फ़ंक्शन निष्पादित करता है और बाहर निकलता है, ला लाल, या इस तरह की मैटलैब में एक स्क्रिप्ट को रीडायरेक्ट करता है: matlab < script.m

0

Linux वातावरण पर, मैटलैब पाठ मोड

matlab -nosplash -nodesktop 

में शुरू किया जा सकता है, लेकिन यह विंडोज पर काम नहीं करता। जो इसे वर्तमान खोल में शुरू करता है। विंडोज़ पर, यह एक नई टेक्स्ट-केवल विंडो खुलता है। मुझे विंडोज पर मौजूदा कंसोल के अंदर चलाने के लिए कोई रास्ता नहीं है।

शायद वहाँ कुछ जिस तरह से आप इसे करने के लिए संलग्न कर सकते हैं http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/matlabwindows में यह चल रहा है .shtml & http://www.google.com/search?rlz=1C1GGLS_enUS302US311 & स्रोत आईडी = क्रोम & यानी = यूटीएफ -8 & q = matlab + कमांड + लाइन + विंडोज़> ऑटोमेशन सर्वर मोड।

यदि आप वास्तव में हताश हैं तो एक और विकल्प वर्चुअल मशीन बनाना और इसमें लिनक्स इंस्टॉल करना हो सकता है। तो मुझे लगता है कि विटा को मैटलैब के साथ अच्छी तरह से काम करने के तरीके को कॉन्फ़िगर करने के तरीके हैं (मैं इन दिनों एक emacs व्यक्ति हूं और emacs के लिए समाधान हैं)।

+0

हाँ, यह विंडोज़ पर काम करता है। यह एक साधारण matlab कमांड विंडो खुल जाएगा। – Dima

5

क्या आप वाकई एम-फाइल डीबगर के साथ काम करने के इच्छुक हैं? मुझे लगता है कि आपको व्यावहारिक रूप से मामूली कार्यक्रमों तक सीमित कर देगा। एक बहुत ही संक्षिप्त सीखने की अवस्था के बाद, मुझे लगता है कि आपको शानदार होने के लिए मैटलैब एकीकृत डीबगर मिलेगा (और मैं एक वीएस व्यक्ति हूं)।

यदि आप ऐसा करने का आग्रह करते हैं, तो आपका सबसे अच्छा विकल्प आपकी एम-फाइलों को अकेले चलने योग्य स्टैंड को संकलित करना है। इसके लिए 0 (सस्ता नहीं) matlab compiler तक पहुंच की आवश्यकता होगी।

ध्यान दें कि 6.5 तक मैटलैब संस्करणों के साथ वितरित संकलक के बीच एक महत्वपूर्ण अंतर है, और मैटलैब 7+ के साथ वितरित किए गए (कंपाइलर संस्करण संख्याएं नहीं जानते हैं)। 6.5 में, कंपाइलर उत्पन्न सी-कोड, जो संपादित और अलग से संकलित किया जा सकता है। 7 से आगे, कंपाइलर ने उस मामले के लिए कोई संकलन, रूपांतरण या कोई कोड जनरेशन नहीं किया: आज 'संकलित' प्रोग्राम चलाकर व्यावहारिक रूप से इसे वर्चुअल मैटलैब मशीन पर चलाया जाता है जिसे MCR कहा जाता है - जिसमें लगभग सभी matlab कार्यक्षमता शामिल होती है। यह एक बड़े पैमाने पर है - एमसीआर इंस्टॉलर (इंस्टॉलर!) पिछली बार मैंने जांच की 130 एम भारित की।
इस पर कुछ बहस अभी भी न्यूज ग्रुप पर पाई जा सकती है, लेकिन अब यह महत्वपूर्ण नहीं है। वास्तव में, एमसीआर दृष्टिकोण आप जो चाहते हैं उसके करीब आता है।

और btw, मुझे matlab -nosplash -nodesktop खिड़कियों पर पूरी तरह से काम करता है के लिए - यह matlab एक सांत्वना के रूप में लॉन्च किया गया, लेकिन यह है कि आप एक पाठ संपादक और एक डिबगर ...

2

मुझे क्या होता है की दोनों से वंचित हैं:

  1. प्रारंभ MATLAB
  2. न खोलें।matlab
  3. ओपन
  4. भागो के रूप में हमेशा की तरह

MATLAB के भीतर से समारोह मैं किसी भी कारण है कि इस के रूप में MATLAB परवाह नहीं करना चाहिए काम नहीं होगा कल्पना नहीं कर सकते अपनी पसंद के संपादक में फ़ाइल के भीतर मीटर फ़ाइल फ़ाइल को संपादित करने के लिए क्या उपयोग किया गया था।

यह आपको "खोल" नहीं देगा, लेकिन पूरे जीयूआई, लेकिन मैं किसी भी कारण से नहीं सोच सकता कि आप यह क्यों नहीं चाहते हैं, अगर यह उपलब्ध है।

+1

यदि आपके पास धीमी कंप्यूटर है तो आप संपूर्ण जीयूआई नहीं चाहते हैं। – Dima

0

मुझे किगुराई जैसी ही समस्या थी।

अजगर में:

import os 

os.chdir('W:\\monrépertoire') 

os.spawnl(os.P_NOWAIT, 'monscript.bat') 

monscript.bat में: मैं तो मैं इस समाधान पाया अजगर के साथ मैटलैब चलाने की जरूरत

matlab.exe -r interp_3D -nodesktop –nosplash 
0

ऐसे मामलों जब वास्तव में बहुत ज्यादा नहीं डिबगिंग की आवश्यकता होती है और Matlab की स्थिति invocations के बीच संरक्षित किया जाएगा। एक (एकमात्र?) उदाहरण Emacs org-mode होगा। इसका उपयोग literate programming etc के अनुसार कोड के साथ interleaved पाठ लिखने के लिए किया जा सकता है। हालांकि Matlab और publish code में टिप्पणियों का उपयोग करना संभव है, चाहे वह HTML या LaTeX हो, हालांकि इसे Emacs के आराम को छोड़ने की आवश्यकता होती है।

standalone program available है जो स्टडिन पर प्राप्त आदेशों का मूल्यांकन करने के लिए मैटलैब इंजन का उपयोग करता है, और परिणाम डंप करता है। हालांकि, इस विशेष संस्करण में मल्टीलाइन कमांड के लिए समर्थन नहीं है जैसे कि/else/end या for/end। यह engEvalString की एक सीमा है जो सबकुछ एक ही समय में अपेक्षा करता है। ugly workaround available है जो इसे usable बनाता है ताकि ऑर्ग-मोड के लिए पर्याप्त हो।

#+begin_src matlab :session *MATLAB* :exports none :cache no :results value 
if 3>1 
'wow!!!' 
end 
#+end_src 

#+RESULTS: 
: wow!!! 
संबंधित मुद्दे