如何在 ODE 中插入列表:

How to insert list in a ODE:

我正在尝试对以下 ODE 进行数值求解

有边界条件

y(x=0)=0;y(x=20)=1

其中 f(x) 是我已经用数值方法求解的另一个 ODE 的解。我正在尝试用 https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.integrate.solve_bvp.html 求解我的 ODE,但我遇到的问题是 f(x) 被写为

的列表
 coordinates x = np.arange(0,20.01,0.05)

我不知道如何在scipy.integrate.solve_bvp中插入列表来获得ODE的解。

提前致谢

最好的办法是解决耦合系统,即把f的DE和现在的DE同时整合。如果这是您之前在 math.SE 上遇到的问题的变体,那么这种耦合方法是不可避免的。

至于文字解,用插值

def f(x): return numpy.interp(x, x_samples, f_samples)

然后在ODE函数中调用这个函数

def y_ODE(x,y): return [y[1], -0.5*f(x)*y[1]]