基于Wolf方法的时序数据最大李雅普诺夫指数计算器
项目介绍
本项目实现了基于Wolf方法的时序数据最大李雅普诺夫指数计算算法。通过相空间重构技术,将一维时间序列嵌入到高维相空间中,在重构的相空间中追踪相点演化轨迹,计算相邻轨道的指数发散率,从而量化系统的混沌特性。该方法适用于非线性动力系统分析,能够有效识别系统的混沌行为和初始条件敏感性。
功能特性
- 相空间重构:基于Takens嵌入定理实现时间序列的高维重构
- 最近邻点搜索:采用高效算法寻找相空间中的最近邻点
- 轨道追踪分析:实时追踪相邻轨道的演化过程
- 线性回归拟合:通过最小二乘法计算指数发散率
- 收敛性监测:实时显示指数值的收敛过程
- 统计评估:提供拟合质量的相关系数、残差等统计信息
使用方法
输入参数说明
data: 一维数值数组,表示待分析的时间序列数据m: 整数值,指定相空间嵌入维数(推荐范围3-10)tau: 整数值,时间延迟参数(可通过自相关函数确定)N: 整数值,时间序列长度P: 整数值,时间序列的平均周期(用于避免近邻点选择)
输出结果
lambda_max: 双精度浮点数,表示计算得到的最大李雅普诺夫指数值convergence_curve: 数组,显示指数值随迭代次数的收敛过程fit_statistics: 结构体,包含线性拟合的相关系数、残差等统计信息
调用示例
% 载入时间序列数据
data = load('time_series_data.txt');
% 设置参数
m = 3; % 嵌入维数
tau = 10; % 时间延迟
N = 1000; % 数据长度
P = 50; % 平均周期
% 计算最大李雅普诺夫指数
[lambda_max, convergence_curve, fit_stats] = main(data, m, tau, N, P);
系统要求
- MATLAB R2018a或更高版本
- 支持矩阵运算和统计工具箱
- 内存需求取决于时间序列长度和嵌入维数
文件说明
主程序文件实现了完整的李雅普诺夫指数计算流程,包括数据预处理、相空间重构构建、最近邻点搜索定位、轨道演化追踪、发散率计算、线性回归分析和结果输出等核心功能模块。该文件整合了所有算法步骤,提供从原始时间序列到最终指数值的完整计算管道,同时包含收敛过程监测和拟合质量评估等辅助功能。