声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 7556|回复: 40

[分形与混沌] 判断混沌时间序列有哪些方法

[复制链接]
发表于 2007-3-5 14:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
判断混沌时间序列有哪些方法?哪些又是比较新的?谢谢指教。
回复
分享到:

使用道具 举报

发表于 2007-3-11 21:38 | 显示全部楼层
一般情况下都是采用 Lyapunov指数 来判别
 楼主| 发表于 2007-3-12 16:06 | 显示全部楼层

回复 #2 gghhjj 的帖子

我在用小数据量法计算时间序列的lyapunov指数时
遇到了几个问题
1.我利用fft计算出的平均周期很大,有时几乎为数据组的大小。有人说过可以用cc方法来计算平均周期更为准确,请问如何实现
2.计算lyapunov指数时,线性区域如何确定?
请高手指点
发表于 2007-3-13 08:58 | 显示全部楼层
原帖由 chenwenjuan86 于 2007-3-12 16:06 发表
我在用小数据量法计算时间序列的lyapunov指数时
遇到了几个问题
1.我利用fft计算出的平均周期很大,有时几乎为数据组的大小。有人说过可以用cc方法来计算平均周期更为准确,请问如何实现
2.计算lyapunov指数 ...


cc法程序在matlab版好像能找到,gghhjj发的一个lyapunov指数计算程序合集里边
发表于 2007-3-13 09:01 | 显示全部楼层
原帖由 chenwenjuan86 于 2007-3-12 16:06 发表
我在用小数据量法计算时间序列的lyapunov指数时
遇到了几个问题
1.我利用fft计算出的平均周期很大,有时几乎为数据组的大小。有人说过可以用cc方法来计算平均周期更为准确,请问如何实现
2.计算lyapunov指数 ...


第二个问题好像不能单纯的采用Lyapunov指数来判别,需要结合其他判别方法

评分

1

查看全部评分

 楼主| 发表于 2007-3-13 10:03 | 显示全部楼层

回复 #4 风花雪月 的帖子

CC方法的程序我有
但怎么利用cc方法计算平均周期我不是很明白
 楼主| 发表于 2007-3-13 10:05 | 显示全部楼层

回复 #5 风花雪月 的帖子

用小数据量法求lyapunov指数时最后一部分程序如下

linear_zone = [1:7]';          % 线性区域
F = polyfit(linear_zone,Y(linear_zone),1);
Lyapunov1 = F(1)

线性区域如何判断呢
发表于 2007-3-20 00:51 | 显示全部楼层
原帖由 chenwenjuan86 于 2007-3-13 10:03 发表
CC方法的程序我有
但怎么利用cc方法计算平均周期我不是很明白


这个问题suffer回答过,以下引用suffer的原话
轨道的平均周期,可用自相关函数法和互信息方法来实现
发表于 2007-3-20 01:11 | 显示全部楼层
原帖由 chenwenjuan86 于 2007-3-13 10:05 发表
用小数据量法求lyapunov指数时最后一部分程序如下

linear_zone = ';          % 线性区域
F = polyfit(linear_zone,Y(linear_zone),1);
Lyapunov1 = F(1)

线性区域如何判断呢


  1. function [Lyapunov1]=LargestLyapunov(data,m,tau,P)
  2. % 用最小数据量法计算混沌时间序列 Lyapunov 指数
  3. % tau = 1;                        % 时延
  4. % m = 14;                          % 嵌入维
  5. % data ;    % 列向量,即 n*1
  6. taumax =128;                    % 最大离散步进时间
  7. % P = 2;                        % 序列平均周期
  8. % 作者:Adu,武汉大学,adupopo@163.com

  9. Y = lyapunov_small(data,tau,m,P);

  10. figure(1)
  11. plot(Y(1:taumax),'-b'); grid; xlabel('i'); ylabel('y(i)');

  12. n=input('请输入要拟合长度n(默认为8)=');
  13. if isempty(n)
  14.     n=8
  15. else
  16.    n
  17. end


  18. linear_zone = [1:n]';          % 线性区域
  19. F = polyfit(linear_zone,Y(linear_zone),1);
  20. Lyapunov1 = F(1);
  21. yp=polyval(F,1:n+20);
  22. hold on
  23. plot(1:n+20,yp,'-r')
  24. hold off
复制代码


你说的是不是这个程序?很明显,这里是有人为判断后输入线形区域的点数

评分

1

查看全部评分

 楼主| 发表于 2007-3-20 16:05 | 显示全部楼层

回复 #9 gghhjj 的帖子

那这样岂不是受人为因素影响很大?
计算出来的结果也不可靠了吧。
 楼主| 发表于 2007-3-20 16:09 | 显示全部楼层

回复 #8 gghhjj 的帖子

轨道的平均周期,可用自相关函数法和互信息方法来实现

但是我用这种方法计算平均周期时,有时结果等于序列长度

陆振波说可以用cc方法求

怎么实现呢
发表于 2007-3-29 20:24 | 显示全部楼层
Lyapunov 指数
用起来较为简单
发表于 2007-3-30 03:03 | 显示全部楼层
原帖由 chenwenjuan86 于 2007-3-20 16:05 发表
那这样岂不是受人为因素影响很大?
计算出来的结果也不可靠了吧。


你所采用的程序是这样的
回复 支持 0 反对 1

使用道具 举报

发表于 2007-3-30 03:13 | 显示全部楼层
原帖由 chenwenjuan86 于 2007-3-20 16:09 发表
轨道的平均周期,可用自相关函数法和互信息方法来实现

但是我用这种方法计算平均周期时,有时结果等于序列长度

陆振波说可以用cc方法求

怎么实现呢


陆好像用的是fft方法求得,可以按照下面的程序实现

  1. function P=ave_T(x,N)
  2. Y=fft(x);
  3. N=length(Y);
  4. L=round(N/2);
  5. Y(1)=[];
  6. power=abs(Y(1:L)).^2;%%幅度的平方为能量
  7. nyquist=1/2;
  8. freq=(1:L)/(L)*nyquist;
  9. %subplot(2,1,1);plot(freq,power);
  10. %title('freq-power gram');
  11. period=1./freq;
  12. %subplot(2,1,2);plot(period,power);
  13. %title('period-power gram');
  14. [mp,index]=max(power);
  15. P=period(index);
  16. %end
复制代码

评分

1

查看全部评分

 楼主| 发表于 2007-7-25 10:49 | 显示全部楼层

疑问

我用你的程序得到的平均周期还是等于数据长度,附件给出了实验数据和我得到的图。
我计算时采用的是1600:4000这些数据。
untitled.jpg

shuju.txt

35.02 KB, 下载次数: 36

实验数据

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-21 05:33 , Processed in 0.057759 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表