这个例子展示了如何使用Live Editor任务重构一致采样信号的相空间,然后使用重构的相空间估计相关维数和Lyapunov指数。
Live Editor任务允许您交互地迭代参数和设置,同时观察它们对计算结果的影响。然后,该任务自动生成MATLAB®代码,实现显示结果。要使用这个脚本中的Live Editor任务,请打开这个示例。
有关实时编辑器任务的详细信息,请参见将交互式任务添加到实时脚本中.
在这个例子中,假设您有一个Lorenz吸引子的测量值。你的测量只沿着x方向,但吸引子是一个三维系统。利用这一有限的数据,重建相空间,以恢复原始三维系统的属性。
加载Lorenz吸引器数据,并将其可视化x
,y
和z
在三维图上进行测量因为洛伦兹吸引子有3个维度,指定昏暗的
如3所示。
负载(“lorenzAttractorExampleData.mat”,“数据”,“fs”) X = data(:,1);plot3(数据(:1),数据(:,2),数据(:,3));
要重建相空间数据,使用重构相空间住编辑任务。方法将任务插入到脚本中任务菜单中的实时编辑器。在这个脚本中,重构相空间已经插入。打开示例来试验这个任务。
要执行相空间重构,请在任务中指定加载的信号,X
嵌入维数为3。在重构相空间任务,你可以实验不同的滞后和嵌入维度值,并观察重建Lorenz吸引子显示在输出图。可选选项和参数的详细信息请参见重构相空间任务参考页面。
在完成实验任务后,重构出相空间数据phaseSpace
和估计的时延滞后
在MATLAB®工作空间中,您可以使用它们来识别Lorenz吸引子的不同条件指标。例如,估计相关维和Lyapunov指数值使用phaseSpace
.
要估计相关维数,请使用估计相关尺寸住编辑任务。在任务中,指定相空间信号,phaseSpace
从工作空间。将信号类型指定为阶段
空间
.该任务自动计算相空间信号的嵌入维数和滞后值。对于本例,使用0.05和20作为最小和最大相似半径值,默认值为10点。在估计相关尺寸任务中,可以用相似半径值和点数进行实验,使线性拟合线与输出图中的原始相关积分数据线对齐。可选选项和参数的详细信息请参见估计相关尺寸任务参考页面。
当您改变任务中的参数时,它会自动更新生成的代码,以执行评估和创建图。(要查看生成的代码,请单击在任务的底部。)
要估计李亚普诺夫指数,请使用估计李雅普诺夫指数住编辑任务。在任务中,指定相空间信号,phaseSpace
从工作空间。将信号类型指定为阶段
空间
采样率为100hz。该任务自动计算相空间信号的嵌入维数和滞后值。在本例中,最小和最大扩展范围值为21和161,平均周期值为默认值110。在估计李雅普诺夫指数任务中,您可以使用扩展范围和平均周期值进行实验,以使线性拟合线与输出图中的原始对数散度数据线对齐。可选选项和参数的详细信息请参见估计李雅普诺夫指数任务参考页面。
当您在每个任务中改变参数时,它会自动更新生成的代码,以执行评估和创建图。要查看生成的代码,请单击在任务的底部。您可以剪切和粘贴此代码,以便稍后在现有脚本或不同的程序中使用或修改。例如:
由于底层代码现在是活动脚本的一部分,因此可以继续使用每个任务创建的变量进行进一步处理。
重构相空间|估计近似熵|估计相关尺寸|估计李雅普诺夫指数|approximateEntropy
|correlationDimension
|lyapunovExponent
|phaseSpaceReconstruction