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

我想通过使用 odeint 之类的东西来求解具有可变系数的二阶微分方程。这个的问题是如果初始条件很复杂(现在就是这种情况),它就不起作用。

你知道一种用类似于 odeint 的东西来解决上述方程的方法吗?


沧海一幻觉
浏览 360回答 2
2回答

摇曳的蔷薇

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

茅侃侃

你总是可以使用真正的组件(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直接适用于复杂的状态变量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python