Цикл Ufunc не поддерживает аргумент 0 типа Float, который не имеет метода Callable ExpPython

Программы на Python
Anonymous
 Цикл Ufunc не поддерживает аргумент 0 типа Float, который не имеет метода Callable Exp

Сообщение Anonymous »

У меня проблемы с оптимизацией, которая раньше работала с предыдущей версией Python ... < /p>

У меня есть функция fp = lambda c, x: ( c[0])+ (c[1]*((1- np.exp(-x/c[4]))/(x/c[4])))+ (c[2]*((( (1-np.exp (-x/c [4]))/(x/c [4])))-(np.exp (-x/c [4]))))+ (c [3] *(((1-np.exp (-x/c [5]))/(x/c [5])))-(np.exp (-x/c [5]))))
< /code> < /p>

, и мне нужно минимизировать ошибку e = lambda c, x, y: ((fp (c, x) -y)* *2) .sum ()) < /code> < /p>

Используя начальные значения параметров P0 = NP.Array ([0,01,0,01,0,01,0,01,0,01,01,1,00 , 1.00])

в основном p = optimize.fmin (e, p0, args = (x, y))

были x и y np.arrays (14,) каждый. < /p>

Итак, это использовалось, но теперь он бросает Эта ошибка TypeError: цикл UFUNC не поддерживает аргумент 0 типа Float, который не имеет Callable Exp Method < /code> < /p>

Я провел некоторое исследование, и кажется, что Существует проблема, связанная с np.exp () и некоторыми версиями Numpy ... на самом деле эта проблема появилась, когда я обновлял Python и Numpy, а также 3,7 и 1.18.1.

Есть мысли? < /p>

Подробнее здесь: https://stackoverflow.com/questions/612 ... allable-ex

Вернуться в «Python»