Проблема, связанная с формой остаточного массива при использовании optimize.least_square только с 1 неизвестным параметром

#least-squares #scipy-optimize

#наименьшие квадраты #scipy-оптимизировать

Вопрос:

Я столкнулся с проблемой, которую не могу решить сам… Я пытаюсь итеративно решить систему из пяти нелинейных уравнений только с одним неизвестным параметром, но продолжаю получать следующее сообщение об ошибке, показанное ниже. Однако эта ошибка не возникает, когда вместо этого я решаю для 3 неизвестных параметров (используя тот же код, но заменяя некоторые числа оцениваемыми параметрами). Мой код следующий:

 
def equations (L):
  f1 = 5.519 - ((1.343876648526599/0.4)*(log(18/3.2441500954852724) - (-5*(148/L))))
  f2 = 8.940 - ((1.343876648526599/0.4)*(log(56/3.2441500954852724) - (-5*(148/L))))
  f3 = 11.658 - ((1.343876648526599/0.4)*(log(98/3.2441500954852724) - (-5*(148/L))))
  f4 = 12.590 - ((1.343876648526599/0.4)*(log(123/3.2441500954852724) - (-5*(148/L))))
  f5 = 12.983 - ((1.343876648526599/0.4)*(log(148/3.2441500954852724) - (-5*(148/L))))

  return (f1, f2, f3, f4, f5)

x0 = 300
root = spo.least_squares(equations, x0, bounds = ((10), (500)), max_nfev = 100).x

  

Сообщение об ошибке:

 ---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)
<ipython-input-34-7315f1f7ce27> in <module>()

---> 27   root = spo.least_squares(equations, x0, bounds = ((10), (500)), max_nfev = 100).x
/usr/local/lib/python3.6/dist-packages/scipy/optimize/_lsq/least_squares.py in least_squares(fun, x0, jac, bounds, method, ftol, xtol, gtol, x_scale, loss, f_scale, diff_step, tr_solver, tr_options, jac_sparsity, max_nfev, verbose, args, kwargs)
    809     if f0.ndim != 1:
    810         raise ValueError("`fun` must return at most 1-d array_like. "
--> 811                          "f0.shape: {0}".format(f0.shape))
    812 
    813     if not np.all(np.isfinite(f0)):

ValueError: `fun` must return at most 1-d array_like. f0.shape: (5, 1)