मैटलैब में कई साजिश कार्य शामिल हैं जो अक्ष के लिए हैंडल को संभालने के लिए वैकल्पिक तर्क लेते हैं। वहाँ कई समाधान हालांकि वे आम तौर पर की आवश्यकता है कि वैकल्पिक तर्क केवल अनिवार्य बहस के बाद आते हैं, matlab में कार्यों की साजिश रचने, जबकि आम तौर पर के रूप में हैं, उपयोगकर्ता परिभाषित कार्यों (varargin, inputParser) के लिए वैकल्पिक तर्क जोड़ने के लिए ऑनलाइन कर रहे हैंमैटलैब - फंक्शंस के लिए पहले वैकल्पिक हैंडल तर्क
plot(optional, mandatory, optional)
यही है, वैकल्पिक तर्क अनिवार्य तर्कों के पहले और बाद में दोनों आ सकते हैं।
मैं इस व्यवहार को कस्टम प्लॉट प्रकार के लिए दोहराना चाहता हूं ताकि यह अंतर्निहित साजिश कार्यों के समान शैली का अनुसरण कर सके। निम्नलिखित उपयोग-मामले प्रदर्शित करने के लिए है कि जाँच अकेले तर्क की संख्या अपर्याप्त है वांछित व्यवहार पूरा करने के लिए प्रस्तुत कर रहे हैं:
x = [1:10];
y = x.^2;
ax(1) = subplot(1, 2, 1);
ax(2) = subplot(1, 2, 2);
myplot(x, y); %Mandatory
myplot(x, y, 'r+'); %Mandatory, optional
myplot(ax(1), x, y); %Optional, mandatory
myplot(ax(2), x, y, 'r+'); %Optional, mandatory, optional
मेरा प्रश्न है, क्या तकनीक हम इस व्यवहार का अनुकरण करने के लिए उपयोग कर सकते हैं?
मुझे एहसास हुआ कि यह ऐसा ही होगा जैसा कि यह किया गया है लेकिन उम्मीद कर रहा था कि कुछ और सुरुचिपूर्ण संभव था। – bhillam
@ बिलीम मैं नहीं देखता कि इसके साथ क्या सुरुचिपूर्ण होगा? MATLAB फ़ंक्शन अधिभार की अनुमति नहीं देता है। इसके लिए आपको 2 कार्यों को वैसे भी लिखना होगा। – patrik
कुछ कोड डुप्लिकेशन होगा जो बड़ी संख्या में तर्क संयोजन संभव होने पर गन्दा हो सकता है। दुर्भाग्यवश ऐसा लगता है कि इस्तेमाल की जाने वाली तकनीक के बावजूद यह एक मुद्दा होगा। मैंने इस उत्तर को स्वीकार कर लिया है क्योंकि यह अंतर्निहित साजिश कार्यों के समान व्यर्थ में अनिवार्य तर्कों से पहले वैकल्पिक तर्क को शामिल करने का तरीका बताता है, हालांकि सैम रॉबर्ट्स के उत्तर के कुछ तत्व भी उपयोगी हैं। – bhillam