मैं साजिश 'सुपर गाऊसी' कार्यों पैदा करते हैं और करने के लिए अजगर कोड लिख रहा हूँ, के रूप में:AttributeError जब कुछ मूल्यों के लिए समारोह का निर्माण
def supergaussian(x, A, mu, sigma, offset, N=8):
"""Supergaussian function, amplitude A, centroid mu, st dev sigma, exponent N, with constant offset"""
return A * (1/(2**(1+1/N)*sigma*2*scipy.special.gamma(1+1/N))) * numpy.exp(-numpy.absolute(numpy.power(x-mu,N))/(2*sigma**N)) + offset
init_x = numpy.arange(-100,100,1.0)
init_y = supergaussian(init_x, 1, 0, 25, 0, N=12)
के बाद कोड सिर्फ इसके बारे में एक भूखंड बनाता है। एक कारण मैं नहीं जान सकता के लिए, इस कोड ठीक काम करता है जब N
के लिए 8 का डिफ़ॉल्ट मान का उपयोग कर, या N
अप 13. करने के मूल्यों के लिए जब N
14 या अधिक है, समारोह एक त्रुटि संदेश के साथ दुर्घटनाओं:
AttributeError: 'float' object has no attribute 'exp'
फ़ंक्शन परिभाषा में वापसी रेखा पर। कोई विचार? उस लाइन का उपयोग करने वाले .EXP numpy.exp
त्रुटि संदेश सूचित करते हैं कि numpy
एक नाव के रूप में व्याख्या की जा रही है लगता है, लेकिन केवल N
के बड़े मूल्यों के लिए में केवल एक चीज है ...
जब से मैं अजगर 3.3 चल रहा हूँ। 2 numpy 1.7.1 और scipy 0.12.0
धन्यवाद, यह वही है जो हो रहा है। मैं numpy ट्रैकर को जमा करूंगा। –