使用复数变量求解微分方程的Python方法

3 投票
1 回答
5767 浏览
提问于 2025-04-17 09:24

大家好,

在Python中能用复数变量来解常微分方程(ODE)吗?我手上的方程大致是这个样子的:

dx/dt = -a x -i y(t)

其中y(t)是一个已知的函数,a是一个已知的数字,而i是-1的平方根。

我试过用odeint()这个函数,但总是报很多错误。

我在想,odeint()可能不支持复数变量。所以一种解决办法就是把x的实部和虚部分开,像处理两个相互关联的常微分方程那样来处理原来的方程。

不过我也在想,是否有更方便的方法来完成这个任务?用复数变量来解常微分方程或偏微分方程是个普遍问题,每次都手动把复数转换成实数会很麻烦。

非常感谢!

1 个回答

5

我建议你使用 scipy.integrate.complex_ode,而不是 scipy.integrate.odeint,因为 这个方法会自动进行转换

撰写回答