MATLAB

2013-09-27 9 views
5

में "प्रस्तावना" कोड चला रहा है क्या कोई भी स्क्रिप्ट चलाने की कोशिश करते समय MATLAB को कोड का एक निश्चित हिस्सा चलाने का कोई तरीका है? उदाहरण के लिए, मैं के रूप में मैं भागो बटन हिट MATLABMATLAB

sprintf('Here we go...') 

चलाने के लिए जितनी जल्दी हो और फिर मेरी स्क्रिप्ट निष्पादित करने के लिए आगे बढ़ना है, इसलिए यदि मेरी स्क्रिप्ट

i = 1; 
i = i * i; 
display(i) 

थे मैं

मिलेगा चाहते हैं
ans = 

Here we go... 


i = 

     1 

पीएस अगर मैं उच्च प्रतिष्ठा वाले लोगों को सामग्री को बेहतर ढंग से प्रतिबिंबित करने के लिए अपने प्रश्न के शीर्षक को सही करता हूं तो मैं इसकी सराहना करता हूं।

+0

यद्यपि यूआई में रन बटन पर क्लिक करने के लिए शायद आपको जवाब देना संभव है, यह संभवतः एक बेहद अनियंत्रित समाधान होगा जो पूरी तरह से अधिक है। इसलिए दिए गए कुछ (सरल और अधिक स्थिर) समाधानों को आजमाएं जो काम करते हैं, यदि आप रन बटन के बजाए स्क्रिप्ट को इसके नाम से कॉल करते हैं। –

+0

@ डेनिस जैहरुद्दीन वास्तव में यह भयानक नहीं है। – StrongBad

+1

सिया, आपकी टिप्पणी है "जैसे ही मैंने रन बटन दबाया" बिल्कुल आपका मतलब क्या है, या क्या आपने बस कुछ ऐसा किया है जिसे कोड चलाने पर निष्पादित किया जाना चाहिए? जीयूआई हैकिंग और स्क्रिप्ट को संशोधित करने के बीच नीचे दिए गए उत्तरों को विभाजित किया गया है। मुझे लगता है कि ऐसा इसलिए है क्योंकि हम निश्चित नहीं हैं कि आपका क्या मतलब है। –

उत्तर

3
जैसे ही मैंने रन बटन

मैं तुम्हें संपादक में रन बटन के बारे में बात कर रहे हैं संभालने हूँ मारा

R2012a में "रन कॉन्फ़िगरेशन" नामक एक सुविधा थी।एक रन कॉन्फ़िगरेशन एक विशिष्ट स्क्रिप्ट से जुड़ा हुआ था और स्क्रिप्ट चलाने से पहले निष्पादित करने के लिए कोड शामिल किया गया था। सभी फ़ंक्शन पर उपयोग करने के लिए वैश्विक सेटिंग प्रतीत नहीं होती है। ऐसा लगता है कि यह सुविधा R2012b में चुपचाप हटा दी गई है।

R2013b में आप एक अलग स्क्रिप्ट चलाने के लिए चुन सकते हैं। संभवतः आप वर्तमान फ़ाइल प्राप्त करने के लिए editor को हैक कर सकते हैं और अपनी प्रीम्बल चलाने के लिए कस्टम रन स्क्रिप्ट का उपयोग कर सकते हैं और फिर वर्तमान संपादक फ़ाइल चला सकते हैं। यह बहुत ज्यादा नहीं वापसी के लिए बहुत काम की तरह लगता है ...

आप एक फ़ाइल runRun: type code to run प्रकार myrun के तहत संपादक में myrun.m

desktop = com.mathworks.mde.desk.MLDesktop.getInstance; 
jEditor = desktop.getGroupContainer('Editor').getTopLevelAncestor; 
title = jEditor.getTitle; 
currentFilename = char(title.replaceFirst('Editor - ','')); 
fprintf('Here we go...'); 
run(currentFilename); 

और इस बुलाया बना सकते हैं। एक बार ऐसा करने के बाद यह आपकी वरीयताओं को याद रखेगा और फिर आप myrun के माध्यम से F5 के साथ कोड चला सकते हैं। यह आपकी वरीयताओं को पुनरारंभ करने में याद रखेगा।

1

सुनिश्चित नहीं है कि मुझे जो चाहिए वह मिल जाए, लेकिन आप अपनी एम फ़ाइल को कोड अनुभागों में विभाजित कर सकते हैं। उदाहरण के लिए:

%% Section 1 
sprintf('Here we go...') 

%% Section 2 
i = 1; 
i = i * i; 
display(i) 

%% एक सेक्शन ब्रेक है। अपने कर्सर को प्रासंगिक अनुभाग में, और संपादक टैब पर, चलाएं अनुभाग में, अनुभाग चलाएं क्लिक करें। (या Ctrl + Enter)

see here for more info.

+0

यदि आप प्रत्येक बार प्रदर्शित होना चाहते हैं तो कोड का एक निश्चित टुकड़ा भाग गया है, तो वास्तव में उन्हें एक ही खंड में होना चाहिए। –

2

तरीका यह है एक preamble.m और doThis.m के लिए किया जाएगा। preamble.m में आप इस होगा:

sprintf('Here we go...') 

और फिर doThis.m में, आप

preamble 
i = 1; 
i = i * i; 
display(i) 

होगा यह काम करने के लिए केवल चाल उन दोनों को रास्ते पर है, या में एक ही निर्देशिका।

0

यदि आप केवल इसे एक (या कुछ स्क्रिप्ट) के लिए चाहते हैं तो स्क्रिप्ट में कमांड जोड़ें, या रैपर फ़ंक्शन/शॉर्टकट बनाएं।


आप इनपुट के बिना कई लिपियों के लिए इस चाहते हैं, आप एक सामान्य आवरण बना सकते हैं:

:

आप तो एक आवरण है कि आप इस तरह कॉल कर सकते हैं बनाने के myFun(a,b,c) तरह बातें चलाना चाहते हैं मान लीजिए

myWrapper('myFun(a,b,c)')

फिर आप पहले अपना प्रदर्शन कमांड कॉल कर सकते हैं और फिर myWrapper के इनपुट पर eval का उपयोग कर सकते हैं। ध्यान दें कि यदि आपका फ़ंक्शन कॉल मल्टीलाइन है या इसमें उद्धरण शामिल हैं तो यह बोझिल हो जाता है।


यदि इन समाधानों में मदद नहीं कर सकता, तो आप शायद अपने आप से पूछना करने के लिए कारण है कि आप ऐसा करने के लिए कोशिश कर रहे हैं की जरूरत है और वहाँ मूल समस्या के लिए एक बेहतर समाधान है या नहीं।

+0

सिडेनोट: अगर आप यह पुष्टि करने के लिए संदेश देखना चाहते हैं कि आपने सही तरीके से क्लिक किया है: '1' जैसे कुछ टाइप करने का प्रयास करें। यदि आपको अभी तक प्रिंट नहीं किया जा रहा है, तो मैटलैब अभी भी काम कर रहा है। –