2013-03-13 7 views
5

सप्टक (/ matlab) के अंकन को महत्व देतावेक्टर एकाधिक वापसी से निपटने के लिए सप्तक के लिए खोल

[a, b] = f(x) 

पता चलता है कि मूल्यों f (x) द्वारा दिया पंक्ति वेक्टर के एक प्रकार में हैं और सप्टक खोल वेक्टर का समर्थन करता है कि (पाइथन के टुपल-अनपॅकिंग की तरह)।

फिर भी जब मैं

[a, b] = [1, 2] 

डाल मैं

error: invalid number of output arguments for constant expression

सप्तक समर्थन वेक्टर खोल करता है?

यदि हां, तो उचित नोटेशन क्या है?

मैं प्रलेखन

+0

स्क्वायर ब्रैकेट ('[]') का थोड़ा अलग अर्थ होता है जब असाइनमेंट का दायां पक्ष फ़ंक्शन कॉल होता है। क्या है कि आप वास्तव में हासिल करना चाहते हैं? –

+0

मेरे पास दो वैक्टर (ए और बी) हैं जो मैं एक साथ फिर से शुरू करना चाहता हूं। पायथन में मैं ए, बी में ज़िप (ए, बी): // ए और बी – dspyz

उत्तर

2

में कुछ भी मैं परीक्षण करने के लिए सप्टक की जरूरत नहीं है नहीं मिल सकता है, लेकिन MATLAB में आप "खोल" कर सकते हैं सेल सरणियों।

x = {1 2}; 
[x1,x2] = x{:} 

x1 = 
    1 
x2 = 
    2 

आप x = num2cell([1 2]); के रूप में एक सेल सरणी संख्यात्मक वेक्टर बदल सकते हैं।

मुझे यह जोड़ना होगा कि यह संस्करण 7.0 से शुरू MATLAB के लिए काम करता है। पहले संस्करण के लिए आपको DEAL फ़ंक्शन का उपयोग करना होगा।

+0

के साथ कुछ सामान करता हूं जो ऑक्टेव में भी काम करता है। धन्यवाद। यह अभी भी एक आम ऑपरेशन के लिए थोड़ा सा शब्द लगता है – dspyz

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