判断混沌时间序列有哪些方法
判断混沌时间序列有哪些方法?哪些又是比较新的?谢谢指教。 一般情况下都是采用 Lyapunov指数 来判别回复 #2 gghhjj 的帖子
我在用小数据量法计算时间序列的lyapunov指数时遇到了几个问题
1.我利用fft计算出的平均周期很大,有时几乎为数据组的大小。有人说过可以用cc方法来计算平均周期更为准确,请问如何实现
2.计算lyapunov指数时,线性区域如何确定?
请高手指点 原帖由 chenwenjuan86 于 2007-3-12 16:06 发表
我在用小数据量法计算时间序列的lyapunov指数时
遇到了几个问题
1.我利用fft计算出的平均周期很大,有时几乎为数据组的大小。有人说过可以用cc方法来计算平均周期更为准确,请问如何实现
2.计算lyapunov指数 ...
cc法程序在matlab版好像能找到,gghhjj发的一个lyapunov指数计算程序合集里边 原帖由 chenwenjuan86 于 2007-3-12 16:06 发表
我在用小数据量法计算时间序列的lyapunov指数时
遇到了几个问题
1.我利用fft计算出的平均周期很大,有时几乎为数据组的大小。有人说过可以用cc方法来计算平均周期更为准确,请问如何实现
2.计算lyapunov指数 ...
第二个问题好像不能单纯的采用Lyapunov指数来判别,需要结合其他判别方法
回复 #4 风花雪月 的帖子
CC方法的程序我有但怎么利用cc方法计算平均周期我不是很明白
回复 #5 风花雪月 的帖子
用小数据量法求lyapunov指数时最后一部分程序如下linear_zone = '; % 线性区域
F = polyfit(linear_zone,Y(linear_zone),1);
Lyapunov1 = F(1)
线性区域如何判断呢 原帖由 chenwenjuan86 于 2007-3-13 10:03 发表
CC方法的程序我有
但怎么利用cc方法计算平均周期我不是很明白
这个问题suffer回答过,以下引用suffer的原话
轨道的平均周期,可用自相关函数法和互信息方法来实现 原帖由 chenwenjuan86 于 2007-3-13 10:05 发表
用小数据量法求lyapunov指数时最后一部分程序如下
linear_zone = '; % 线性区域
F = polyfit(linear_zone,Y(linear_zone),1);
Lyapunov1 = F(1)
线性区域如何判断呢
function =LargestLyapunov(data,m,tau,P)
% 用最小数据量法计算混沌时间序列 Lyapunov 指数
% tau = 1; % 时延
% m = 14; % 嵌入维
% data ; % 列向量,即 n*1
taumax =128; % 最大离散步进时间
% P = 2; % 序列平均周期
% 作者:Adu,武汉大学,adupopo@163.com
Y = lyapunov_small(data,tau,m,P);
figure(1)
plot(Y(1:taumax),'-b'); grid; xlabel('i'); ylabel('y(i)');
n=input('请输入要拟合长度n(默认为8)=');
if isempty(n)
n=8
else
n
end
linear_zone = '; % 线性区域
F = polyfit(linear_zone,Y(linear_zone),1);
Lyapunov1 = F(1);
yp=polyval(F,1:n+20);
hold on
plot(1:n+20,yp,'-r')
hold off
你说的是不是这个程序?很明显,这里是有人为判断后输入线形区域的点数
回复 #9 gghhjj 的帖子
那这样岂不是受人为因素影响很大?计算出来的结果也不可靠了吧。
回复 #8 gghhjj 的帖子
轨道的平均周期,可用自相关函数法和互信息方法来实现但是我用这种方法计算平均周期时,有时结果等于序列长度
陆振波说可以用cc方法求
怎么实现呢 Lyapunov 指数
用起来较为简单 原帖由 chenwenjuan86 于 2007-3-20 16:05 发表
那这样岂不是受人为因素影响很大?
计算出来的结果也不可靠了吧。
你所采用的程序是这样的 原帖由 chenwenjuan86 于 2007-3-20 16:09 发表
轨道的平均周期,可用自相关函数法和互信息方法来实现
但是我用这种方法计算平均周期时,有时结果等于序列长度
陆振波说可以用cc方法求
怎么实现呢
陆好像用的是fft方法求得,可以按照下面的程序实现
function P=ave_T(x,N)
Y=fft(x);
N=length(Y);
L=round(N/2);
Y(1)=[];
power=abs(Y(1:L)).^2;%%幅度的平方为能量
nyquist=1/2;
freq=(1:L)/(L)*nyquist;
%subplot(2,1,1);plot(freq,power);
%title('freq-power gram');
period=1./freq;
%subplot(2,1,2);plot(period,power);
%title('period-power gram');
=max(power);
P=period(index);
%end
疑问
我用你的程序得到的平均周期还是等于数据长度,附件给出了实验数据和我得到的图。我计算时采用的是1600:4000这些数据。