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