我正在尝试使用scipy的odeint
来求解一些常微分方程。唯一的问题是,我只想定义一个参数,似乎要创建一个元组,至少需要两个值。
我的代码如下:
def system(state, t, inputs)
x = state[0]
u = inputs
a = -4
b = 2
dxdt = [a * x + b * u]
return dxdt
inputs = 5
x_next = odeint(system, x, t, args=(inputs))
这将返回错误,因为args
必须是一个元组,而(输入)是一个int / float而不是一个元组。解决此问题的一种方法是将a,b用作args的一部分。但这只是创可贴。
我想知道是否有任何方法可以将args定义为一个值。
答案 0 :(得分:2)
如错误所述,args
必须是tuple
。您可以使用
args=(inputs,)
请注意其他逗号。