【问题标题】:Changing the parameter of the controlling system would cause the system stiff?改变控制系统的参数会导致系统僵硬吗?
【发布时间】:2020-05-01 10:01:35
【问题描述】:

我的模型在以下控制系统参数下运行良好,

但是如果我改变其中一个参数,系统就会僵硬,根本没有机会解决它。 所以我的问题是:

  1. 为什么只改变一个参数会导致系统僵硬?
  2. 如果我再次遇到僵硬问题,我如何才能找到导致问题的确切参数?

【问题讨论】:

    标签: modelica dymola


    【解决方案1】:

    DASSL 是一个隐式求解器,因此应该能够很好地处理僵硬的系统。仍然似乎有许多 >500 步骤必须在

    关于您的问题:

    1. 如果模型模拟到最后,检查控制变量,看看是否有快速振荡(频率> 100Hz)发生。当增加控制器的比例增益时可能会发生这种情况,这会使整个系统“不太稳定”。
    2. 对此很难给出一般建议,但linearSystems2 库可以提供帮助。创建“全线性分析”会给出状态列表以及它们与极点的关系。具有最高频率的极点通常负责刚度,并且通过查看哪些状态与感兴趣的极点相关,指示要研究哪些状态。从状态到参数的方式取决于建模者 - 至少我不知道这方面的一般建议。

    对于 2. 应用于Modelica.Blocks.Examples.PID_Controller,结果如下所示: 看到弹簧可能会导致系统中的最快状态。

    【讨论】:

      【解决方案2】:

      答案是肯定的!只改变一个参数值可能会导致系统僵硬。

      假设给定模型映射到显式 ODE 系统:

      dx/dt = f(x,p,...)

      通常,系统可以通过一些以雅可比 df/dx 的特征值表示的刚度指数来表征为刚度。例如,这些指标之一是刚度比:雅可比的最大特征值与最小特征值之比。如果这个比值很大,一些文献假设 > 10^5,那么系统的特征是在所选初始值和参数值附近是刚性的。

      雅可比 df/dx 及其特征值是 p 和初始值的时间相关函数。所以理论上,根据给定的系统,一个参数可能会导致这种不希望的系统行为。

      能够访问雅可比行列并执行特征值分析以及参数敏感性分析,例如通过动态参数敏感度的计算,识别这些邪恶的参数是可能的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-08
        • 1970-01-01
        • 2011-08-14
        • 2020-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        相关资源
        最近更新 更多