为了账号安全,请及时绑定邮箱和手机立即绑定

Python:求解具有复杂初始条件的二阶微分方程

Python:求解具有复杂初始条件的二阶微分方程

沧海一幻觉 2021-07-03 10:05:53
我想通过使用 odeint 之类的东西来求解具有可变系数的二阶微分方程。这个的问题是如果初始条件很复杂(现在就是这种情况),它就不起作用。你知道一种用类似于 odeint 的东西来解决上述方程的方法吗?
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

odeint不接受复杂变量。您可以使用:较新的求解器,solve_ivpode带有“zvode”积分器的老类;或者odeintwodeint我写的处理复值和矩阵值微分方程的包装器。


查看完整回答
反对 回复 2021-07-06
?
茅侃侃

TA贡献1842条经验 获得超21个赞

你总是可以使用真正的组件(odeint约定)


def odesys(u,t):

    z = u[0]+1j*u[1]

    dz = u[2]+1j*u[3]

    d2z = f(t,z,dz)

    return [ dz.real, dz.imag, d2z.real, d2z.imag ]

其中f代表二阶 ODE 的显式形式。


如果我没记错的话,您可以使用的其中一种方法(“vzode”?)scipy.integrate.ode直接适用于复杂的状态变量。


查看完整回答
反对 回复 2021-07-06
  • 2 回答
  • 0 关注
  • 359 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信