मैंने खुद को बिल्टिन फ़ंक्शंस के साथ एक कस्टम क्लास इंटरफ़ेस करने का प्रयास किया है, और मैंने एक ऐसी स्थिति को एनकॉर्टर किया है जिसे मैं केवल eval के साथ हल कर सकता हूं, मुझे एक "क्लीनर" तरीका चाहिए।फंक्शन कॉलिंग वेरिएबल आउटपुट नंबर
असल में, बिल्टिन फ़ंक्शन को varargout=blabla(varargin)
के रूप में परिभाषित किया गया है, मैंने varargout=blabla(varargin)
के रूप में कस्टम क्लास में ओवरराइड फ़ंक्शन को परिभाषित किया है। समारोह लगता है:
function varargout=blabla(varargin)
varargout=blabla(function_of_varargin)
end
varargin
के समारोह में निर्मित clas करने के लिए कस्टम वर्ग से बदल देती है।
लेकिन यह काम नहीं करता है: मूल रूप से जब बिल्टिन फ़ंक्शन को ओवर्रिड फ़ंक्शन के अंदर बुलाया जाता है, तो यह केवल एक आउटपुट पैरामीटर (varargout
) देखता है, भले ही कस्टम ओवर्रिडेन फ़ंक्शन को एक से अधिक आउटपुट पैरामीटर के साथ बुलाया जाता है ।
मैं मूल रूप से इस फोन करके इसे हल:
[varargout{1},varargout{2},...,varargout{nargout}]=blabla(function_of_varargin)
एक पाश और eval-आईएनजी साथ एलएचएस का निर्माण।
[varargout{1:nargout}] = blabla(varargin{:})
:
देखें [मैं MATLAB फ़ंक्शंस में अंतर्निहित कैसे लोड करूं?] (Http://www.mathworks.nl/support/solutions/en/data/1-18T0R/index.html?product=ML&solution= 1-18T0R) –