У меня есть следующая функция:
def equation1(xy, d=7.62, G=8.2728, rhop=7.51, ut=399):
ep, uc = xy # define variables
g = 981 # acceleration due to gravity, cm/s^2
f1 = 2*g*d*((ep**-4.7) - 1) - 0.01*(uc/ep - ut)**2
f2 = G - (uc/ep - ut)*rhop*(1 - ep)
return f1, f2
где я решаю для ep
и uc
, используя fsolve
в SciPy:
ep1, uc1 = fsolve(equation1, [1, 500])
Вместо того, чтобы определять одно значение для G
, я хотел бы решить для ep
и uc
значения диапазона G
, такие как G = [8, 10, 12]
. Когда я передаю список значений для G, я получаю сообщение об ошибке при установке элемента массива с последовательностью.
Можно ли использовать fsolve
, где одним из аргументов является список или массив значений?
G
внутри кортежа? Поскольку цикл for передает одно значение на каждой итерации, кажется, что кортеж не нужен для одного аргумента. 18.03.2017G
тоже работает, я использовал кортеж просто для того, чтобы показать, куда нужно вставить возможные дополнительные аргументы... 18.03.2017