nargin
निश्चित रूप से ऐसा करने का सबसे आसान तरीका है।
function e = testFunc(a,b,c,d)
error(nargchk(2, 4, nargin, 'struct'));
% set default values
if nargin<4, d = 0; end
if nargin<3, c = 0; end
% ..
c = a*b + c*d;
end
... जो एक तरह से सुनिश्चित करने के लिए तर्क की सही संख्या पारित हो जाता है के रूप में कार्य करता है: यह भी nargchk का उपयोग कर इनपुट तर्क की संख्या मान्य करने के लिए आमतौर पर अच्छा अभ्यास है। इस मामले में, न्यूनतम दो तर्कों की आवश्यकता है, अधिकतम चार के साथ।
यदि nargchk
कोई त्रुटि नहीं पता है, निष्पादन सामान्य रूप से फिर से शुरू होता है, अन्यथा कोई त्रुटि उत्पन्न होती है।उदाहरण के लिए, बुला testFunc(1)
उत्पन्न करता है:
Not enough input arguments.
अद्यतन:
narginchk(2,4);
आप: एक नया समारोह R2011b narginchk
, जिसका बहिष्कार nargchk
+ error
ऊपर देखा के उपयोग की जगह में पेश किया गया था कार्यों का उपयोग कर सकते हैं जैसे: exist और isempty एक चर मौजूद है या नहीं की जाँच करने के और क्या यह क्रमशः खाली है:
if ~exist('c','var') || isempty(c)
c = 10;
end
जो आप इस तरह के रूप में अपने समारोह कॉल करने के लिए अनुमति देता है: यह कह c
के लिए डिफ़ॉल्ट मान का उपयोग करने के, लेकिन अभी भी d
के लिए एक मूल्य दे रही है
testFunc(1,2,[],4)
आप तर्कों की एक चर संख्या को स्वीकार करने के लिए varargin का भी उपयोग कर सकते हैं।
अंत में पार्स और नाम आदानों मान्य करने के लिए एक शक्तिशाली तरीका inputParser
का उपयोग करने के उदाहरण और तर्क गुजर और मूलभूत मूल्यों की स्थापना के अन्य विकल्प, this post और उसके टिप्पणियों के साथ की जाँच को देखने के लिए है।
मैटलैब में आप क्या करने की कोशिश कर रहे हैं? –