Я пытаюсь провести исследование параметров. У меня есть очень сложная функция, которая не определена для всех значений.
Я изменяю параметры и в любое время принимаю корни, но если параметр делает мою функцию неопределенной, то scipy.optimize.root()
возвращает значение догадки вместо ошибки или 'nan'
.
Как получить root, только если определена функция (без необходимости сначала определять пространство, в котором определена моя функция)?
Я попытался создать простой пример для облегчения понимания:
import numpy as np
from scipy.optimize import root
global k
def F(X):
np.seterr(all='raise')
try:
f1=np.log(4.80-(X+k))
return f1
except:
return np.nan
guess = 10
ks=[i/2.0 for i in range(10)]
for k in ks:
root(F, guess)