【发布时间】:2020-07-18 23:27:09
【问题描述】:
我正在尝试使用 solve_ivp 求解大型微分方程组。
from scipy import integrate
sol = integrate.solve_ivp(func_system, (0,100), initial_value_array, t_eval)
func_system 是一个微分方程组,取决于X 列表的长度:
X = ['a','b','c','d',...]
K1, K2, K3, K4 = [1, 2, 2, 1]
def dadt(X,t):
return -K1*X[0]+K2*X[1]
def dbdt(X,t):
return K2*X[0]-(K2+K3+K4)*X[1]
def dcdt (X,t):
return ....
def dddt (X,t):
return ....
等等。
def func_system(X,t):
return np.array([dadt(X,t), dbdt(X,t), dcdt(X,t), dddt(X,t)])
因为 X 可能很长,所以我想遍历列表以创建函数名称。例如,
dxdt = ['d'+a+'dt' for a in X]
for i in range(len(dxdt)):
def dxdt[i]:
return something
,我会从数据框中得到“一些东西”。我的问题是是否可以遍历列表来创建函数名称?
【问题讨论】:
标签: python list function loops