如何在数值上解决这个微分方程组?

问题描述 投票:0回答:1

微分方程组

请看上面的图片

如何使用scipy.integration.odeint建立这个系统的推导函数?我试图将3个DEs表达为坐标(q,alpha,beta)的二次导数的线性组合,并在推导函数(用odeint)中用第一项或非导数项进行计算。但我发现系数矩阵有退化性,所以遇到了一些麻烦。

differential-equations
1个回答
0
投票

你有一个系统

M(z)*D*z'' = F(t,z,z')

你可以使用numpy的线性系统求解器来实现它。

def system(t,u):
    z,Dz = np.reshape(u,[-1,2])
    D2z = diag([1,1/q,1/b]).dot( np.linalg.solve(M(z), F(t,z,Dz)) )
    return np.concatenate(Dz, D2z)

或类似。

© www.soinside.com 2019 - 2024. All rights reserved.