मैं वर्तमान में MATLAB में सिमुलेशन कोडिंग कर रहा हूं और मुझे जो समस्या हो रही है उसके संबंध में कुछ मदद की ज़रूरत है।MATLAB: मर्जिंग फ़ंक्शन हैंडल
मैं एक समस्या है जहाँ मैं n
अलग गुमनाम समारोह f_i
, जिनमें से प्रत्येक सेल सरणी functions
में संग्रहित है संभालती है और एक 1x1 संख्यात्मक सरणी x_i
स्वीकार करता है और एक 1x1 संख्यात्मक सरणी y_i
देता है पर काम कर रहा हूँ।
मैं इन गुमनाम समारोह से प्रत्येक गठबंधन करने के लिए कोशिश कर रहा हूँ एक भी गुमनाम समारोह संभाल कि एक एकल n
एक्स 1
संख्यात्मक सरणी X
स्वीकार करता है और एक n
एक्स 1
-numeric सरणी Y
रिटर्न में संभालती है। इधर, X(i) = x_i
, Y(i) = y_i = f_i(x_i)
एक उदाहरण के रूप n = 2
जाने और f_1 और हो f_2 दो समारोह है कि इनपुट और आउटपुट 1x1
सरणियों संभालती है और एक सेल सरणी में जमा हो जाती है नामित कार्यों
f_1 = @(x_1) x_1^2
f_2 = @(x_2) x_2^3
functions = {f_1,f_2}
मैं मूल रूप से कोड की जरूरत है कि होगा एक फंक्शन हैंडल बनाने के लिए n
, f_1
और f_2
का उपयोग करने में सक्षम हो, जो 2x1
संख्यात्मक सरणी इनपुट और आउटपुट करता है।
F = @(x) [f_1(x(1,1));f_2(x(2,1))]
इस के लिए धन्यवाद:
और यहाँ कुछ परीक्षण मामलों रहे हैं! मुझे कोड को यथासंभव कुशल होने की आवश्यकता है, इसलिए मैं शायद आपके फ़ंक्शन का उपयोग करूंगा और लंबाई/जोर देने वाले तर्कों को हटा दूंगा ... साथ ही, क्या आपको यह पता चल जाएगा कि इनलाइन फ़ंक्शन हैंडल मूल्यांकन का उपयोग करने से feval तेज है या नहीं?यह कहना है, y (i) = f {i} (x (i)) y (i) = feval (f {i}, x (i)) से अधिक तेज़ हो)> –