RK45 ode求解器python3

问题描述 投票:0回答:1

如何使用此function

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

import scipy.integrate as ode
t, r =ode.RK45(right(t, x0), t0, tmax, dt)

错误:

TypeError: 'list' object is not callable

请第一个论点是什么?

python-3.x scipy ode
1个回答
1
投票

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

solver = ode.RK45(right)
solver.set_initial(y0,t0)

然后在solver.integrate上循环计算所需的积分步骤,请参阅文档中的示例。

[如果您有scipy的任何最新版本,请使用较新的solve_ivp界面,在一个呼叫中提供所有内容

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

并在solution.tsolution.y中找到解分量,其中后者是每个状态分量的时间序列的元组。

© www.soinside.com 2019 - 2024. All rights reserved.