सुप्रभात/दोपहर/शाम काम नहीं करता है,एक समारोह है कि सीधे तत्व के लिहाज से
मैं एक Matlab स्क्रिप्ट कि चौथी क्रम tensors गणना मात्रा अभिन्न शामिल है पर काम कर रहा हूँ एकीकृत करें। चलो एच (आर, थेटा, फाई) वह कार्य हो जिसे मैं एकीकृत करना चाहता हूं। मान लें कि आर, थेटा और फाई पर सरल संचालन से एच प्राप्त नहीं किया जा सकता है।
मेरे समस्या Matlab में किसी भी अन्य कोड के रूप में मुझे पता है कि यह है:
All input functions must accept arrays and operate elementwise. The function FUN(X,Y,Z)
must accept arrays X, Y, Z of the same size and return an array of corresponding values.
यह मैटलैब से integral3 function के कार्यान्वयन से है।
अगर मैं इस सरल कार्य के साथ प्रयास करें:
fun = @(X,Y,Z) X.*Y.*Z
वहाँ सब पर कोई समस्या नहीं है और अगर मैं इस पर एकीकृत [0,1] एक्स [0,1] एक्स [0,1], मैं सही परिणाम प्राप्त करें:
integral3(fun,0,1,0,1,0,1)
0.125 देता है जो सही है।
समस्या यह है कि जैसा कि मैंने कहा, मैं साधारण गणना वैक्टर के साथ एच प्राप्त करने के लिए प्रदर्शन नहीं कर सकते और मैं चीजों को और अधिक या कम इस तरह से करने को मजबूर कर रहा हूँ:
function [result] = fun(x,y,z)
sz = length(x);
result = zeros(1,sz);
for i=1:sz
result(i) = x(i)*y(i)*z(i);
end
end
यह समारोह अपने पर काम करता है अपने आप को वही परिणाम देता है जैसा कि मैंने पहले पेश किया था। हालांकि, जब मैं integral3 इस्तेमाल करने की कोशिश मैं इस त्रुटि मिलती है:
Error using integral2Calc>integral2t/tensor (line 241)
Integrand output size does not match the input size
लेकिन यह स्पष्ट रूप से मेरे समारोह है कि मैं विशेष रूप से यह इनपुट के आकार बना की परिभाषा से देखा जा सकता।
मुझे समझ में नहीं आता कि क्या गलत है और मुझे यकीन नहीं है कि इस तरह के वाक्यविन्यास का उपयोग करने के बजाय इस फ़ंक्शन की गणना करने के लिए मेरे पास कोई अन्य समाधान है।
धन्यवाद आपके समय के लिए एक बहुत और :)
@ ड्रैगन के जवाब में जोड़ने के लिए कुछ भी नहीं, लेकिन मैं सिर्फ इस सुंदर लिखित प्रश्न के लिए धन्यवाद देना चाहता हूं! – Toghe