Я использую массивы для более эффективного выполнения операций над ними. Я также использую метод brenth()
из scipy.optimize
на них. Моя основная проблема заключается в том, что иногда я передаю массив, в котором только некоторые элементы вызывают эту ошибку (что я понимаю, и у меня нет проблем с этим):
ValueError: f (a) и f (б) должны иметь разные знаки
Но остальные элементы массива возвращают правильное значение. Я хотел бы вернуть ноль, если значение является действительной ошибкой, и его значение, если ошибки не возникли. Это моя текущая функция:
import scipy.optimize as opt
def funct_optimize(var1,array1,array2,var2,var3):
def funcArg(var_):
return func_main(var1,array1,var_,var2,var3) - array2
array_= opt.brenth(funcArg,0.000001,400)
return array_
Снова и в итоге: эта функция будет возвращать массив array_
, когда каждая итерация функции по всем ее значениям возвращает решение. Однако, если только 1 из этих итераций возвращает исключение, массив не будет возвращен из funct_optimize()
. В идеале я хотел бы, чтобы он возвращал массив значений None или нулей, если это ошибка, и фактическое решение, когда оно не вызывает ошибку ValueError.
Спасибо