Похоже, вы пытаетесь найти корни R
для различных значений, включенных в f
.
Проблема в том, что partial_func
имеет единственное значение в качестве начальной оценки и хочет вернутьмассив той же длины, что и a
(в вашем случае 2 значения).
Другими словами, в вашей проблеме нет ни одного значения root.Например, корень для f[0]=10
, вероятно, отличается от корня для f[1]=15
.Решением в этом случае должен быть массив из двух значений.
Чтобы исправить это, вам нужно дать массив для параметра x0
(начальная оценка) fsolve
.
def G(r):
partial_func = functools.partial(R, a=r)
return fsolve(partial_func,[10,10],xtol=10**-1)
Так что для каждого значения в a
есть инициализатор для gg
, а решением является вектор такой же длины, как и f
.