私のように、生成し、プロット「超ガウス」機能するためにPythonのコードを書いている:コードに続いては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)
はちょうどそれをプロットします。
AttributeError: 'float' object has no attribute 'exp'
:
N
ため8のデフォルト値を使用して、または
N
が14以上である場合
N
最大13の値に対して、関数はエラーメッセージでクラッシュしたときに、私は測深することができないため、このコードは正常に動作し
関数定義の戻り行にあります。何か案は?だけN
の値が大きいため、エラーメッセージがnumpy
がfloatとして解釈されていることを暗示しているようだnumpy.exp
ある.EXP使用しているラインで唯一のもの...
以来、私は、Python 3.3を実行していますよ。 2とnumpy 1.7.1とscipy 0.12.0
ありがとう、これはまさに起こっていることです。私はぬるぬるトラッカーに提出する。 –