Я все еще пытаюсь минимизировать функцию, мне нужно минимизировать функцию с фиксированным массивом 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,))