Ich entwarf eine einfache Funktion, um eine mathematische Funktion zurückzugeben, die verwendet werden kann, um experimentelle Daten daran anzupassen. Die Funktionen sieht ziemlich ähnlich wie folgt aus:Python: Wie vermeiden Sie numpy RuntimeWarning in Funktionsdefinition?
def colecole_2(f,*p):
term1=p[0] * (1 - 1/(1 + numpy.power((0+1j) * 2 * numpy.pi * f * p[1], p[2])))
term2=p[3] * (1 - 1/(1 + numpy.power((0+1j) * 2 * numpy.pi * f * p[4], p[5])))
return p[6]*(1-abs(term1+ term2))
Leider in Schwierigkeiten mit RunTimeWarnings wie ich laufen:
RuntimeWarning: overflow encountered in power
RuntimeWarning: overflow encountered in divide
aufgrund Werte, die zu groß oder klein sind. Ich bin jedoch nicht in der Lage, dieses Problem alleine zu lösen. Gibt es eine Möglichkeit, meine Funktion neu zu definieren, so dass sie ohne Warnungen passieren wird?
Wissen Sie, wie Sie Ausnahmen erfassen können? –
@StevenRumbalski, Diese wurden nicht erhoben. –
@MikeGraham: Mein schlechtes. Ich habe Ihre Frage missverstanden * und * verpasst, dass es sich um Warnungen handelt. warnings.warn ("veraltet", DeprecationWarning) mit warnings.catch_warnings():: warnings.simplefilter ("ignorieren") FXN –