Sto riscontrando alcuni problemi con la funzione numpy.vectorize
.numpy.vectorize restituisce valori errati
Ho definito una funzione che funziona bene per l'input di un singolo elemento ma la versione vettoriale restituisce risultati diversi. Che cosa sto facendo male?
Codice:
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])
Questo piccolo problema mi ha causato molto spreco di tempo ... Ecco un altro esempio che spiega la situazione: https://gist.github.com/drorata/dd9028c993b676328001c414ce822385 – Dror