基于MATLAB的太阳黑子时间序列与仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2012.3

26 基于MATLAB 的太阳黑子时间序列

分析与仿真

周园 肖洪祥 董俊飞

桂林理工大学信息科学与工程学院 广西 541004

摘要:本文研究了时间序列的分析方法,具体分析了基于最大Lyapunov 指数的方法在太阳黑子时间序列分析中的应用。介绍利用MATLAB 对太阳黑子时间序列进行分析与仿真的方法,并给出相关的流程、程序和相应的仿真结果。最终证明太阳黑子时间序列是一个混沌时间序列。

关键词:混沌时间序列;最大Lyapunov 指数;太阳黑子数;仿真

0 引言

在非线性系统中,初始条件的微小变化,往往会导致结果以指数级的大小发生分离,这时我们称这个系统存在混沌。时间序列是非线性动力系统的一种模型。如果时间序列对初始条件敏感,采用传统线性时间序列分析方法将很难予以分析,因此传统时间序列预测模型对混沌时间序列的拟合和预测准确度都很差。经过混沌学的发展,可以使用序列本身的规律对其进行预测。Lyapunov 指数法即是其中之一。通过最大Lyapunov 指数的数值,可以判断一个时间序列是否是混沌时间序列,亦即该非线性系统中是否存在着混沌。本文对太阳黑子序列进行分析,证明其是一个混沌时间序列。

1 基于Lyapunov 指数的时间序列分析方法

对时间序列进行分析,首先必须进行相空间重构。根据有限的数据重构吸引子以研究系统动力行为的方法即是相空间重构。主要思想为:系统中每个分量的演化皆是由与之联系的其他分量所决定的,相关分量的信息隐含在任意其他分量的变化过程中,即是运用系统的任何一个观察量可以重构出整个系统的模型。

设时间序列为{}t x ,其中1,2,...,t N =。重构相空间m

R 的元素组为:

(1)(,,)(,,...,),T=1,2,3,...,T T T T m X m N X X X p τττ++-= (1)

其中,N 为重构相空间维数;τ为延迟时间间隔数,且为正整数;(1)p N m τ=--为时间序列嵌入相空间的向量数,N 为时间序列的数据点数。

由Tokens 定理,在理论条件下可任选τ。但在现实条件下时间序列都是有限长且有噪声的。因而在重构相空间时,

τ的选取至关重要。目前所采用的方法大多是通过经验来选

择τ, 从而使得T X 和T X τ+相互独立并不完全相关。

Lyapunov 指数是描述奇异吸引子性质的数据量。在m 维离散系统中存在m 个Lyapunov 指数,即Lyapunov 指数族。正的Lyapunov 指数意为在此维度方向,系统以指数级速度分离。1983年,G.Grebogi 证明了若最大Lyapunov 指数

max 0λ>,则系统一定存在着混沌。因此要判断一个时间序

列是否为混沌时间序列,必须求出其最大Lyapunov 指数。为了保证领域点沿着不同的轨道运动,最近邻域点间必须有分离间隔。此处取分离间隔为/w T t =∆,其中T 为用FFT 计算出的序列平均周期;t ∆为序列的采样周期。

2 计算机仿真步骤

仿真步骤如图1所示。输入太阳黑子年平均序列,通过

FFT 算法计算得到其平均周期T 。计算分离间隔作为时间窗

ωτ。由公式得到嵌入维数m 。运用所得的参数使用Wolf 法

算出最大Lyapunov 指数。进而判断该序列是否是混沌序列。

2012.3

27

图1 计算机仿真流程图

(1) 这里选取的太阳黑子时间序列为从1700年-1987年

共288年的数据。程序代码为:

load sunspot.dat; x=sunspot(:,1); y=sunspot(:,2); plot(x,y); xlabel('Year');

ylabel('Sunspot Number')

输入的数据如图2所示。

图2 太阳黑子年平均序列

(2) 对其进行FFT 变换可以得到年平均周期T(如图3所

示),程序为:

Y=fft(y); A=abs(Y);

N=length(A); A=A(1:N/2);

A(1)=0; plot(1:N/2,A) xlabel('Year Cycle'); ylabel('Amplitude'); [maxi,ind]=max(A) ind N/ind

图3 sunspot 数据FFT 变换幅度

此程序运行的结果为:

ans = 10.6667

此结果即为该时间序列的平均周期,所以可以取11T =。

(3) 应用Wolf 法求最大Lyapunov 指数

Lyapunov 指数是相空间中相近轨道的平均收敛性发散性的一种度量。

Wolf 法是Wolf 等人于1985年提出的轨道跟踪法。正的Lyapunov 指数的大小表征相空间中相近轨道的平均发散的指数率。已知序列平均周期为11T =,序列采样周期1t ∆=。此处取的分离间隔/11w T t =∆=作为时间窗

ωτ。由文献可取延迟2τ=,由公式(1)m ωττ=-计算得嵌入

维数6m =。

先在工作区间建立重构相空间的函数文件reconstitution.m :

function X=reconstitution(data,N,m,tau) M=N-(m-1)*tau;

for j=1:M for i=1:m

X(i,j)=data((i-1)*tau+j); end end

主体函数使用Wolf 法求得最大Lyapunov 指数,流程图

2012.3

28 如4所示。

程序运行结果为:

lambda_1 = 7.5389e-004

图4 Wolf 法流程图

此结果意为最大Lyapunov 指数max 0λ>。由以上原理,

正的Lyapunov 指数表明在该维方向,系统运动轨道迅速分 离,系统存在着混沌。所以,太阳黑子年平均数序列是一个混沌时间序列。

3 结束语

MATLAB 具有强大的数据处理能力,可以方便的实现用

户所需的各种计算功能。本文即利用基于MATLAB 平台实现对太阳黑子年平均数这一时间序列的分析与仿真。得到其最大Lyapunov 指数max 0λ>,从而证明该时间序列的确是一个混沌时间序列。

参考文献

[1]邵小强,马宪民.混沌时间序列预测的建模与仿真研究.计算

机仿真.2011.

[2]F.Takens,Lect ure Notes in Mathematics.1981.

[3]A .Wolf .J .B .Swift,,H .L .Swinney and J .A .Vastano .Determ

ing Lyapunov exponents from a time series, Physica 16D .1985. [4]Tong H and Lim K S. Threshold autoregression, limit cycles and cyclical data(with discussion), J.Roy Stat Soc.1980.

Time Series of Sunspot Number Based on MATLAB :Studied the chaotic time series analysis methods,made a detailed analysis of the method based on the Chaos time series;Largest Lyapunov exponent;Sunspot number;Simulation

[上接22页]

Campus network in Colleges and universities,scientific research undertakes teaching, management and Campus network; global security;Human factors

相关文档
最新文档