如何在ODE中插入列表:

时间:2019-01-19 10:54:15

标签: python python-3.x scipy ode

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

y''(x)=-0.5*f(x)*y'(x)

有边界条件

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解决方案。

预先感谢

1 个答案:

答案 0 :(得分:0)

最好的方法是解决耦合系统,即与当前DE同时集成select tblAgents.FirstName, tblAgents.LastName from tblAgentSkills inner join tblAgents on tblAgentSkills.AgentID = tblAgents.ID where tblAgentSkills.Skill_ID = 1 的DE。如果这是您先前在math.SE上遇到的问题的变体,那么这种耦合方法是不可避免的。

对于文字解,请使用插值

f

然后在ODE函数中调用此函数

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