2012-05-25 20 views
9

मैं एक समारोह makeFunction(data) लिख रहा हूं। मैं इसे एक फ़ंक्शन वापस करना चाहता हूं, न कि मैट्रिक्स, वेक्टर, या स्केलर। मैं यह कैसे करु?MATLAB में आउटपुट मान के रूप में मैं फ़ंक्शन कैसे लौटा सकता हूं?

उत्तर

14

फ़ंक्शन हैंडल का उपयोग करें।

function f = functionReturner(u) 
% creates the function x.^u to return as an example 
f = @(x) x.^u; 

अगर मैं इस फ़ंक्शन को सहेजता हूं, तो फ़ंक्शन रीटर्नर को कॉल करें, तर्क स्वयं ही एक फ़ंक्शन है।

f = functionReturner(3); 
f(2.5) 
ans = 
     15.625 

आप आसानी से यह सत्यापित कर सकते हैं कि 15.625 वास्तव में 2.5^3 है।

+2

क्या अज्ञात कार्यों का उपयोग किए बिना ऐसा करने का कोई तरीका है? – Will

+0

@Will - मुझे नहीं पता कि आप किस समस्या को हल करने की कोशिश कर रहे हैं, या यहां तक ​​कि MATLAB रिलीज का उपयोग कर रहे हैं। क्या कोई कारण है कि अब आप जवाब पर बाधा डाल रहे हैं? यदि आपके पास कुछ बेवकूफ मकसद है, तो हमें सभी अनुमान लगाने के बजाय हमें बताएं। क्रिस्टल बॉल पढ़ना कुछ दिनों में इतना मुश्किल है। –

+1

यदि अज्ञात भाग आपको परेशान करता है, तो एक सबफंक्शन के लिए एक नियमित फ़ंक्शन हैंडल भी काम करेगा। – Peter

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

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