Python 3.x RK45 ode求解器蟒蛇3

Python 3.x RK45 ode求解器蟒蛇3,python-3.x,scipy,ode,Python 3.x,Scipy,Ode,请问这个怎么用 我有一个函数,它返回右侧微分方程列表right(t,x0) 错误: TypeError: 'list' object is not callable 第一个参数应该是什么?您将函数作为对象传递,而不是函数值,因此 solver = ode.RK45(right) solver.set_initial(y0,t0) 然后在解算器上进行循环。积分计算所需的积分步骤,请参见文档中的示例 如果您有任何最新版本的scipy,请使用较新的solve\u ivp界面,在该界面中,您可以在一

请问这个怎么用

我有一个函数,它返回右侧微分方程列表
right(t,x0)

错误:

TypeError: 'list' object is not callable

第一个参数应该是什么?

您将函数作为对象传递,而不是函数值,因此

solver = ode.RK45(right)
solver.set_initial(y0,t0)
然后在
解算器上进行循环。积分
计算所需的积分步骤,请参见文档中的示例

如果您有任何最新版本的
scipy
,请使用较新的
solve\u ivp
界面,在该界面中,您可以在一次调用中提供所有内容

solution = solve_ivp(right, [t0, tmax], y0, method = "RK45", t_eval = np.arange(t0,tmax,dt))

并在
solution.t
solution.y
中找到解决方案组件,其中后者是每个状态组件的时间序列的元组。

将函数作为对象传递,而不是函数值,因此

solver = ode.RK45(right)
solver.set_initial(y0,t0)
然后在
解算器上进行循环。积分
计算所需的积分步骤,请参见文档中的示例

如果您有任何最新版本的
scipy
,请使用较新的
solve\u ivp
界面,在该界面中,您可以在一次调用中提供所有内容

solution = solve_ivp(right, [t0, tmax], y0, method = "RK45", t_eval = np.arange(t0,tmax,dt))
并在
solution.t
solution.y
中找到解决方案组件,其中后者是每个状态组件的时间序列的元组