非线性动力学:算法建议

计算科学 算法 matlab Python 非线性方程
2021-12-05 22:31:39

我刚刚开始了一篇关于非线性动力学的论文,其中需要对达芬振荡器(DO) 进行数值分析。它基本上只是一个二阶 ODE,或者等效地是一组 ODE。

说,集成后,我的数据如下所示: 在此处输入图像描述

我需要编写一个算法,1)分析数据,2)输出特定参数集的 DO 周期(在一定但任意(_ily 调整)松弛时间之后)。在本例中,周期为 4。

如果 DO 在每个时期的行为完全相同,那么编写算法可能并不难,但事实并非如此(正如我所理解的那样)——所以算法必须有点“模糊”。

任何想法,链接?

我正在使用 Python/MATLAB,但请随意给出与语言无关的答案 :)

干杯!,

\T

1个回答

一种可能的方法包括使用庞加莱图,同时记住相应庞加莱部分中的固定点可能表示周期性轨道的存在。您可以将此想法与聚类算法相结合,以隔离部分中与“几乎”同一点(即轨迹)相对应的区域。

Duffing Oscillator:特定时间的时间序列和庞加莱截面

在上图中,您可以看到 Duffing Oscillator 的时间序列和 Poincaré 图,其中周期轨道是由黑点表示的不动点。在下图中,有完整的相空间以及与庞加莱截面中的固定点(黑点)相对应的周期轨迹(松弛后)图。

相空间和周期轨道