【问题标题】:Solving a system of differential equations in R (saddle point stability)求解 R 中的微分方程组(鞍点稳定性)
【发布时间】:2016-05-06 08:23:23
【问题描述】:

我想求解一个平面微分方程组,其中一个变量的初始条件给定,而另一个变量的初始条件需要确定,以确保系统收敛于平衡。如果均衡是鞍点稳定的(这对经济学中分析的最优控制问题引起的系统很感兴趣),那么这个变量存在一个唯一的初始值以实现收敛。因此,如何确定这样的初始值以便能够求解系统是主要问题。是否可以用R来确定这样一个初始条件的值从而求解系统?

系统是:

x' = sqrt(x)-x -y

y' = y*((sqrt(x))^(-1)-1)

x 和 y 非负数。分析表明存在一个唯一的平衡,x和y都严格为正,雅可比矩阵分析表明,一个特征值是正的,另一个是负的,因此该平衡是鞍点稳定的。如果给定 x(0),比如等于 1,我们如何确定 y(0) 的值,以使系统收敛到 (x,y) 的正平衡值?我希望能够模拟 x 和 y 的独特收敛动态路径。有人可以帮我解决这个问题吗?

使用 deSolve 我们可以轻松求解系统,但我们需要指定 x(0) 和 y(0)。是否可以使用 deSolve 或其他软件包来确定 y(0) 的值是多少,从而使 y 收敛到其平衡值?可能我们应该依靠射击算法来猜测和重新校准初始条件 y(0),但我不知道如何做到这一点。

【问题讨论】:

    标签: r differential-equations saddle


    【解决方案1】:

    你想做的是计算“鞍的稳定流形”这是由

    完成的
    1. 计算雅可比行列式,J,处于平衡状态,xStar
    2. 查找J的特征值和特征向量
    3. 使用y0 = Xstar - eps * eigenvector作为初始条件,其中eigenvectorJ的负特征值对应的特征向量,eps是一个很小的数字(例如eps = 1e-7
    4. 模拟动态,但在相反的时间,例如times = seq(-10,0, by=.1), in lsoda
    5. 重复步骤 3 和 4,但初始条件为 y0 = Xstar + eps * eigenvector

    【讨论】:

      猜你喜欢
      • 2016-03-21
      • 2020-08-18
      • 2021-01-29
      • 2021-05-27
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多