擅长:python、mysql、java
<p>我假设你想要动态噪声。在这种情况下,您首先应该认识到,有几种类型的微分方程具有根本不同的解算器:</p>
<ul>
<li><p><strong>延迟微分方程(DDE)</strong>通常采用以下任一方法求解:</p>
<ul>
<li><p>嵌入的、多步骤的Runge-Kutta方法,其中插入过去(这是Pydelay所做的),</p></li>
<li><p>用积分步分割所有延迟的单步积分器。</p></li>
</ul></li>
<li><p>随机微分方程(SDEs)的求解采用简单的单步方法(全部基于Euler方法)。多步方法仍然是一个热点问题,而嵌入式方法是最近才被提出的。在</p>
<p>我所知的所有关于sde的论文(理论和方法,但它们并不多见),只考虑白噪声(Wiener过程);认识到粉红噪声本身就是一个问题。我只需快速搜索就能找到<a href="//doi.org/10.1103/PhysRevE.81.031105" rel="nofollow noreferrer">a paper on simulating white noise with a white-noise SDE</a>。</p></li>
<li><p>随机时滞微分方程(SDDEs)又需要特殊的解。我对它们不是很熟悉,但显然你至少继承了DDE和SDE的所有局限性。因此,最好的解算器应该是一个单步方法,用积分步骤分割所有延迟。快速浏览一下文献,这确实是我们所做的。请注意,这并不能解决粉红色噪音的问题。</p></li>
</ul>
<p>如前所述,Pydelay使用带插值的多步方法。这不是为随机性设计的,也不能正确地处理随机性(如果是这样的话,它已经是SDE的一个出色的解决方案,也就是说,毫不拖延)。相反,它所做的是将多步方法视为一个单步方法,然后添加噪声。正如Pydelay的作者自己所说,这“相当粗糙”。此外,实际使用粉红噪声(即使使用粗略的方法)将需要您重新编程软件,并可能导致积分器误差估计固有的问题。我强烈建议不要这样。即使你成功了,使用高级DDE解算器(如自适应步骤)的所有优势也会丧失,因此从头开始编写一个新的、更简单的积分器会更容易。在</p>
<p>如果您真的需要这样做,我建议您先找出如何解决带有粉红噪声的SDEs,然后将该方法扩展到SDDEs(希望这是相当简单的)。在</p>
<hr/>
<p><sup>¹如果您想要观察噪声,那很简单:只需将其添加到您的解决方案中。</sup></p>