2011-03-01 37 views
12

मुझे नहीं पता कि MATLAB ऐसा कर सकता है, और मैं इसे पूरी तरह से अपने कोड में सौंदर्यशास्त्र के लिए चाहता हूं, लेकिन क्या MATLAB एक ही समय में दो चर बना सकता है?MATLAB में एक ही समय में एकाधिक चर परिभाषित करें?

उदाहरण

x = cell(4,8); 
y = cell(4,8); 

वहाँ एक रास्ता के समान कोड कुछ लिखने के लिए है: अल्पविराम से अलग सूचियों

x&y = cell(4,8); 
+1

MATLAB कोड में सौंदर्यशास्त्र की तलाश हमेशा एक लड़ाई चढ़ाई है। लेकिन नीचे मेरा जवाब देखें। –

+1

यदि आप * अलग * मानों के साथ चर प्रारंभ करना चाहते हैं, तो यह एक डुप्लिकेट है [मैं MATLAB में एकाधिक असाइनमेंट कैसे करूं?] (Http://stackoverflow.com/questions/2337126/how-do-i- डू-एकाधिक-असाइनमेंट-इन-मैटलैब) यदि आप उन्हें * समान * मान के साथ प्रारंभ करना चाहते हैं, तो [एंड्रयू का सुझाव] (http://stackoverflow.com/questions/5158032/define-multiple-variables-at-the -एम-टाइम-इन-मैटलैब/5158206 # 5158206) का उपयोग करने के लिए [DEAL] (http://www.mathworks.com/help/techdoc/ref/deal.html) वह है जो आप चाहते हैं। – gnovice

उत्तर

25

उपयोग एक अभिव्यक्ति के बाएं हाथ की ओर में कई चर प्राप्त करने के लिए।

आप एक से अधिक असाइनमेंट एक लाइन रखने के लिए सौदा() का उपयोग कर सकते हैं।

[x,y] = deal(cell(4,8), cell(4,8)); 

इसे एक इनपुट के साथ कॉल करें और सभी आउटपुट समान मान प्राप्त करें।

[x,y] = deal(cell(4,8)); 

>> [a,b,c] = deal(42) 
a = 
    42 
b = 
    42 
c = 
    42 
+0

यह सही है, बहुत बहुत धन्यवाद। – user379362

3

यह उस डेटा पर निर्भर करता है जिसका उपयोग आप डेटा उत्पन्न करने के लिए करते हैं।

[a, b, c] = foo(); 

कई builtin समारोह भी इस विकल्प हैं: आप MATLAB में अपने स्वयं के समारोह से अधिक आउटपुट है कि बना सकते हैं। लेकिन यह वापसी समारोह द्वारा सीधे समर्थित होना चाहिए।

+0

हां, वे समर्थित हैं। जैसा कि आप देखते हैं, अल्पविराम वाक्यविन्यास उत्तर है। –

+0

ठीक है। मैंने अभी आपके उत्तर से अंतिम पंक्ति हटा दी है। –

+0

मुझे आपके उत्तर को और भी पसंद है। जबकि बहुत वर्बोज़ नहीं है, "मैं इन मानों को उस प्रारूप में कैसे वापस कर सकता हूं?" सवाल में नहीं है। –

संबंधित मुद्दे