Python TypeError:model()缺少2个必需的位置参数
我要解决这三个问题。这是我正在使用的代码 编译时,我收到以下错误消息: TypeError:model()缺少2个必需的位置参数:“T”和“T” 我不知道发生了什么,因为在模型函数中提到了t和t 有人能帮我吗Python TypeError:model()缺少2个必需的位置参数,python,arguments,odeint,Python,Arguments,Odeint,我要解决这三个问题。这是我正在使用的代码 编译时,我收到以下错误消息: TypeError:model()缺少2个必需的位置参数:“T”和“T” 我不知道发生了什么,因为在模型函数中提到了t和t 有人能帮我吗 将numpy导入为np 从scipy.integrate导入odeint 将matplotlib.pyplot作为plt导入 v0=10.0升/分钟,吸入量(CSTR) V=100.0#L,体积比(CSTR) k=0.14*10**(-5)#L/mol.min,恒速(近似:独立温度) Na
将numpy导入为np
从scipy.integrate导入odeint
将matplotlib.pyplot作为plt导入
v0=10.0升/分钟,吸入量(CSTR)
V=100.0#L,体积比(CSTR)
k=0.14*10**(-5)#L/mol.min,恒速(近似:独立温度)
Na0=500.0μmol,浓度(CSTR)
DeltaH_r=-5.9*10**(-5)#cal/mol
CpA=40.0#cal/mol.K
CpB=18.0#cal/mol.K
帐篷=50.0+273.15#K,温度不可调节
def型号(Na、Nb、T、T):
dNadt=(Na0/V)*v0-(Na/V)*v0+(-k*(Na/V)**2)*V
dNbdt=-(Nb/V)*v0+0.5*(k*(Na/V)**2)*V
dTempdt=(-DeltaH_r)*(-k*(Na/V)*V)-Cp_A*V*v0*(T-Tent))/(Na*CpA+Nb*CpB)
返回[dNadt、dNbdt、dTempdt]
t=np.linspace(0,20)
斜槽=[500.0,0.1300.0]#斜槽专用
Y=odeint(型号、斜槽、t)
我从未使用过它,但我检查了文档中的示例,我认为您必须添加args=(val1,val2)
,其中的值将分配给T
和T
Y = odeint(model, Chutes, t, args=(val1, val2))
所以最后它将使用模型
和
Na = Chutes
Nb = t
T = val1
t = val2
我从未使用过它,但我检查了文档中的示例,我认为您必须添加
args=(val1,val2)
,其值将分配给T
和T
Y = odeint(model, Chutes, t, args=(val1, val2))
所以最后它将使用模型
和
Na = Chutes
Nb = t
T = val1
t = val2
我想我知道答案了 我不知道为什么,但当我把Na、Nb和T“串联”在一个向量中(我称之为z)时,它起了作用 def型号(z,t): Na,Nb,T=z dNadt=(Na0/V)*v0-(z[0]/V)*v0+(-k*(z[0]/V))*V dNbdt=(-z[1]/V)*v0+0.5*(k*(z[0]/V))*V dTdt=(-DeltaH_r)*(-k*(z[0]/V))*V-CpA*(z[0]/V)*v0*(z[2]-Tent))/(z[0]*CpA+z[1]*CpB) 返回[dNadt,dNbdt,dTdt]
我想我找到答案了 我不知道为什么,但当我把Na、Nb和T“串联”在一个向量中(我称之为z)时,它起了作用 def型号(z,t): Na,Nb,T=z dNadt=(Na0/V)*v0-(z[0]/V)*v0+(-k*(z[0]/V))*V dNbdt=(-z[1]/V)*v0+0.5*(k*(z[0]/V))*V dTdt=(-DeltaH_r)*(-k*(z[0]/V))*V-CpA*(z[0]/V)*v0*(z[2]-Tent))/(z[0]*CpA+z[1]*CpB) 返回[dNadt,dNbdt,dTdt]
似乎
odeint
期望def模型(Na,Nb):
没有T
,T
似乎odeint
期望def模型(Na,Nb):
没有T
,T
谢谢您的回答!事实上,t是模型求解的时间点序列,t是相对于t积分的输入变量。所以我认为它们不能设置为args。谢谢你的回答!事实上,t是模型求解的时间点序列,t是相对于t积分的输入变量。因此,我认为它们不能设置为args。