【发布时间】:2020-06-07 12:21:06
【问题描述】:
system of differential equations
请看上面的图片
我怎样才能为这个系统建立派生函数来使用 scipy.integrate.odeint? 我试图将 3 个 DE 表示为坐标(q,alpha,beta)的二阶导数的线性组合,并用一阶或非导数项在导函数(由 odeint 获取)中计算它们。 但是我发现系数矩阵有退化,遇到了一些麻烦。 我该如何解决这种系统?
【问题讨论】:
system of differential equations
请看上面的图片
我怎样才能为这个系统建立派生函数来使用 scipy.integrate.odeint? 我试图将 3 个 DE 表示为坐标(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)
或类似的。
【讨论】: