【问题标题】:how to solve this system of differential equations numerically?如何数值求解这个微分方程组?
【发布时间】:2020-06-07 12:21:06
【问题描述】:

system of differential equations

请看上面的图片

我怎样才能为这个系统建立派生函数来使用 scipy.integrate.odeint? 我试图将 3 个 DE 表示为坐标(q,alpha,beta)的二阶导数的线性组合,并用一阶或非导数项在导函数(由 odeint 获取)中计算它们。 但是我发现系数矩阵有退化,遇到了一些麻烦。 我该如何解决这种系统?

【问题讨论】:

    标签: differential-equations


    【解决方案1】:

    你有一个系统

    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)
    

    或类似的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 2022-08-24
      相关资源
      最近更新 更多