Ich habe einige Probleme mit der numpy.vectorize
Funktion.numpy.vectorize gibt falsche Werte zurück
Ich habe eine Funktion definiert, die gut für Einzelelementeingabe funktioniert, aber die vektorisierte Version gibt unterschiedliche Ergebnisse zurück - Was mache ich falsch?
Code:
def c_inf_comp(z):
if z>0:
return np.exp(-1./(z*z))
else:
return 0
>>> x = np.array([-10., 10.])
>>> x
array([-10., 10.])
>>> c_inf_comp(x[0])
0
>>> c_inf_comp(x[1])
0.99004983374916811
>>> vfunz = np.vectorize(c_inf_comp)
>>> vfunz(x)
array([0, 0])
Dieses kleine Problem verursachte mir eine Menge Zeitverschwendung ... Hier ist ein anderes Beispiel, das die Situation erklärt: https://gist.github.com/drorata/dd9028c993b676328001c414ce822385 – Dror