सरणी पंक्ति सेपरेटर
जब एक नई सरणी बनाने या मौजूदा सरणियों श्रेणीबद्ध करने के लिए इस वर्गाकार कोष्ठक में इस्तेमाल किया, अर्धविराम:
अर्धविराम ;
तीन आधिकारिक उपयोगों है सरणी में एक नई पंक्ति बनाता है:
A = [5, 8; 3, 4]
आउटपुट दमन
जब एक आदेश के अंत में रखा, अर्धविराम प्रदर्शन है कि आदेश से किसी भी उत्पादन के लिए नहीं MATLAB बताता है।इस उदाहरण में, MATLAB प्रदर्शित नहीं करता है, जिसके परिणामस्वरूप 100-दर-100 मैट्रिक्स:
A = ones(100, 100);
कमान या वक्तव्य सेपरेटर
अल्पविराम ऑपरेटर की तरह, आप और अधिक प्रवेश कर सकते हैं पर एक MATIC कमांड से प्रत्येक कमांड को अर्धविराम से अलग करके एक पंक्ति। MATLAB एक अर्धविराम से समाप्त उन आदेशों के लिए आउटपुट दबाता है, और प्रदर्शित करता है जो अल्पविराम से समाप्त आदेशों के लिए आउटपुट प्रदर्शित करता है।
इस उदाहरण में, चर और ए के लिए असाइनमेंट अर्धविराम से समाप्त हो जाते हैं, और इस प्रकार प्रदर्शित नहीं होते हैं। क्योंकि बी को काम है अल्पविराम द्वारा समाप्त किया, यह एक आदेश के उत्पादन में प्रदर्शित होता है:
A = 12.5; B = 42.7, C = 1.25;
लाइन x = {1,2,3,;5,6,7}
यह मान्य बयान सरणी पंक्ति इस प्रकार में
तो 3,
के बाद विभाजक। इसके बाद एक नया बयान अपेक्षित है, जो इस मामले में डबल है। मान्य।
अब मामला
x = {1,2,3,;;;;4,5,6;;;}
जैसा कि ऊपर के बाद कि होते हैं, शायदnull statement - NOP कुछ अंतर्निहित कार्यक्रम कोर में लिखा से उधार के बाद 3,
बयान सरणी पंक्ति सेपरेटर, और बयान इस प्रकार है पर विचार सी, जिसका मूल रूप से अर्थ है: कुछ भी नहीं। तो 3,;
के बाद अगले वक्तव्य आने से पहले तीन बार "कुछ भी नहीं करें" का पालन करता है। कोई समझ नहीं आता, जैसा कि मैटलैब आपको बता रहा है: अतिरिक्त अर्धविराम अनावश्यक है। - लेकिन मान्य है।
यह भी है कि आप व्यर्थ बातों की अनुमति देता है:
if true
;
end
और यह शायद भी कारण है कि
C = {1,2,3,,,}
एक त्रुटि देता है, क्योंकि अल्पविराम ,
'isn टी शून्य स्टेटमेंट, लेकिन पहले कॉमा के बाद एक सेंट है उम्मीद की उम्मीद
लब्बोलुआब यह है: यह अजीब लगता है, लेकिन वास्तव में, मुझे लगता है तर्क के रूप में मैटलैब आंतरिक और अशक्त बयान पर विचार सी-कोड का एक बहुत का उपयोग करता है, सब कुछ उल्लेख मान्य सिंटैक्स है।
अन्य लैंगेज के बारे में क्या?
अर्द्ध कोलन अजगर में x = [1,2,3,;;;;4,5,6;;;]
की तरह इस्तेमाल किया, यहां तक कि इरादा मैटलैब क्लोन numpy में, अमान्य हैं, जब तक कि यह असामान्य वाक्य रचना a = np.matrix('1,2,3;4,5,6')
में लपेटा।
a = np.matrix('1,2,3,;;;;4,5,6;;;')
रूप ;
के रूप में किसी भी मामले में सरणी पंक्ति सेपरेटर, जो संकलक असंगत पंक्ति आकार के बारे में शिकायत करता है व्याख्या की है, साथ ही एक त्रुटि फेंक होगा।
हालांकि,
x = [1,2,3,]
भी Python
और IronPython
में मान्य सिंटैक्स, के रूप में यह VBScript
और Lua
में है के रूप में mlepage's answer में उल्लेख किया है। इन सभी भाषाओं में आम क्या है? वे रनटाइम के दौरान व्याख्या की गई सभी (अधिक या कम) स्क्रिप्टिंग भाषाएं हैं। यह सिर्फ Matlab नहीं है। इसलिए ओपी का उत्साह बिना कारण के बनी हुई है।
दिलचस्प। '{1,2,4, ;;;; 4,5,6 ;;;}' भी –
अनुमति मैं भाषा के इस मोड़ [इस उत्तर] में एक छोटा सा (की खोज याद http://stackoverflow.com/ ए/28334571/3121310) लेकिन इसके बारे में मैथवर्क्स से कभी स्पष्टीकरण मांगा नहीं। मैं इसे एक विशेष मामले में डाल दूंगा कि पार्सर एक आयाम में '0' आकार के साथ एक मैट्रिक्स के समान हैंडल करता है, लेकिन @ लुइसमेन्डो का उदाहरण विशिष्टताओं के रूप में प्रश्न उठाता है। – TroyHaskin
@LuisMendo जो वास्तव में मुझे बाहर निकालता है वह यह है कि यह एक अच्छा, तंग आयताकार समाप्त होता है। ऐसा लगता है कि वहां कम से कम कुछ खाली पंक्तियां होनी चाहिए या कुछ ... – chessofnerd