Обработка ошибок для отдельных элементов в массиве - PullRequest
0 голосов
/ 06 апреля 2020

Я использую массивы для более эффективного выполнения операций над ними. Я также использую метод 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.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...