मैं गणित में "ब्लैक बॉक्स" फ़ंक्शन का संख्यात्मक अनुकूलन करने का प्रयास कर रहा हूं। रेखाचित्र के रूप में यह इस प्रकार है:गणित: ब्लैक बॉक्स फ़ंक्शंस के संख्यात्मक अनुकूलन के दौरान मूल्यांकन आदेश
NMinimize[{comb[x,y,z], x > 0}, {x,y,z}]
जहां कंघी [एक्स, वाई, z] यह करने के लिए इसी तरह परिभाषित किया गया है:
comb[x_,y_,z_] := Module[{},
Print[x,y,z];
M = FindMaximum[SkewNormal[a,x,y,z], {a,x}] // First;
val = f[x,y,z,M];
Return[val];
];
हालांकि, न्यूनतम कार्यों मैं कोशिश की है के सभी तुरंत प्रदान नहीं करने लगते हैं संख्यात्मक मानों के साथ कंघी [एक्स, वाई, जेड], और यह एक्स, वाई, जेड के लिए प्रतीकात्मक मानों के साथ FindMaximum का मूल्यांकन करने की कोशिश कर रहा है (जिसे आसानी से सत्यापित किया जाता है क्योंकि प्रिंट [x, y, z] भी प्रतीकात्मक रूप से मूल्यांकन करता है)। इस प्रकार Findmaximum विफल रहता है (FindMaximum :: nrnum: फ़ंक्शन वैल्यू ब्ला ब्लाह वास्तविक संख्या नहीं है) और इसलिए न्यूनतमकरण विफल हो जाता है।
मैं मूल्यांकन आदेश को कैसे ठीक कर सकता हूं ताकि कंघी के उप-कार्यों का मूल्यांकन संख्यात्मक मूल्यों के साथ किया जा सके?
एक और (और अधिक सूक्ष्म) 'में NMinimize' हाल ही में [अन्य धागा] (में हल किया गया था प्रतीकात्मक पूर्व प्रसंस्करण की वजह से समस्या http://stackoverflow.com/questions/6971536/nminimize-eats-all-memory- बीसी-ऑफ-अनावश्यक-प्रतीकात्मक-कार्य/6975501 # 6975501) डैनियल लिट्टलब्लू द्वारा। –
हम्म ठीक है धन्यवाद, मैं इसे देख लूंगा। मैंने यह भी देखा है कि यह समस्या गणित 8 में नहीं होती है (मैं पहले 7 चला रहा था)। –