繁体   English   中英

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

[英]Python: Solving a second order differential equation with complex initial conditions

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

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

odeint不接受复变量。 您可以使用:较新的求解器, solve_ivp 带有“zvode”积分器的旧ode类; 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 的显式形式。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM