проблема минимизации ValueError: не удалось передать операнды вместе с фигурами (0,) (150,) - PullRequest
0 голосов
/ 07 апреля 2020

Я все еще пытаюсь минимизировать функцию, мне нужно минимизировать функцию с фиксированным массивом al. Это ошибка, которая дает мне:

Traceback (последний вызов был последним): файл plot2.py, строка 72, в res = свернуть (rosen, x0 = 1, args = (al,)) Файл "/home/usd/.local/lib/python3.6/site-packages/scipy/optimize/_minimize.py", строка 604, в режиме минимального возврата _minimize_bfgs (fun, x0, args, ja c, обратный вызов, ** параметры) Файл "/home/usd/.local/lib/python3.6/site-packages/scipy/optimize/optimize.py", строка 1003, в _minimize_bfgs old_fval = f (x0) File " /home/usd/.local/lib/python3.6/site-packages/scipy/optimize/optimize.py ", строка 327, в функции возврата function_wrapper ( (wrapper_args + args)) Файл" plot2. py ", строка 12, в возвращаемой сумме Розен (((xi [1:]) - (xi [: - 1]) - c) ((xi [1:]) - (xi [: - 1]) - c)) ValueError: операнды не могут быть переданы вместе с фигурами (0,) (150,)

, и это код:

def rosen(xi,c):
    return sum(((xi[1:]) - (xi[:-1])-c)*((xi[1:]) -(xi[:-1])-c))


for ko in range(len(alp2[index])):
    al = alp[index]
    al2 = alp[index+1]
    al = np.array(al)
    al2 = np.array(al2)
    be = alp2[index][ko]
    be2 = alp2[index][ko]
    c = 5
    print(rosen(al,c))
    res = minimize(rosen, x0=1, args=(al,))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...