AttributeError in python / numpy beim Erstellen von Funktionen für bestimmte Werte

Ich schreibe Python-Code, um 'Super-Gauß'-Funktionen zu generieren und zu zeichnen:

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)

Der folgende Code macht nur einen Plot daraus. Aus einem Grund, den ich nicht verstehen kann, funktioniert dieser Code einwandfrei, wenn der Standardwert von 8 für verwendet wirdN, oder für Werte vonN bis 13. WannN ist 14 oder höher, stürzt die Funktion mit einer Fehlermeldung ab:

AttributeError: 'float' object has no attribute 'exp'

In der Rückleitung in der Funktionsdefinition. Irgendwelche Ideen? Da das einzige in dieser Zeile, das .exp verwendet, das istnumpy.exp Die Fehlermeldung scheint dies zu implizierennumpy wird als Float interpretiert, aber nur für große Werte vonN...

Ich verwende Python 3.3.2 mit Numpy 1.7.1 und Scipy 0.12.0

Antworten auf die Frage(1)

Ihre Antwort auf die Frage