声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: winterdij

[分形与混沌] 疑问:关于CC 方法计算时间延迟和嵌入维数

  [复制链接]
 楼主| 发表于 2007-9-4 16:31 | 显示全部楼层

回复 #15 sssssxxxxx921 的帖子

我用Logistic和Lorenz做了,都正确,程序也是我从Chaos Toolbox Ver.2.0工具箱里找的,我认为没有问题。
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-9-4 19:30 | 显示全部楼层
如果实在不行的话可以先试算一下,应该会有收敛解的!
发表于 2007-9-4 21:51 | 显示全部楼层

回复 #16 winterdij 的帖子

能把你验算的例子给我发一下吗,我总和书上的结果错很多
发表于 2007-9-4 21:52 | 显示全部楼层
我的邮箱ssssxxxx921@sohu.com
 楼主| 发表于 2007-9-5 10:30 | 显示全部楼层

回复 #19 sssssxxxxx921 的帖子

我已经给你发过去了,请查收。
发表于 2007-9-5 16:09 | 显示全部楼层

回复 #20 winterdij 的帖子

谢谢  我已收到
只不过为什么我做出来的都是直线   用你的程序你数据也不好使以下是我用你的数据(WORD中第一个你自己的数据)做的
发表于 2007-9-5 16:12 | 显示全部楼层
为什么会出现这种情况了   很是郁闷
其中洛仑兹系统是按其他论文上取50001----53000点做的    结果和那上边的图错十万八千里

你的数据对应的图

你的数据对应的图

洛仑兹系统对应的图

洛仑兹系统对应的图
发表于 2007-9-5 19:50 | 显示全部楼层
根据你的数据我又算了一遍,  怎么图和你的一样  数据却不对呢
Warning: Divide by zero.
> In correlation_integral at 19
  In C_CMethod at 47
ans =
  Columns 1 through 8
    0.0386   -0.0086   -0.0325   -0.0382   -0.0340       NaN       NaN       NaN
  Columns 9 through 16
       NaN       NaN       NaN       NaN       NaN       NaN       NaN       NaN
  Columns 17 through 20
       NaN       NaN       NaN       NaN

上面就是我的结果,   怎么会出现被 0 除呢,  我相信你的也出现了吧  你是怎么解决的或怎么认为
应该不是数据少的原因吧
 楼主| 发表于 2007-9-6 11:06 | 显示全部楼层

回复 #23 sssssxxxxx921 的帖子

你是用的我的程序吗?我的程序输出是delt_s    s_cor
NaN我一开始也不知道怎么回事,后来看网上的各种说法,我认为是数据计算精度的问题,数据溢出了,这是我为什么选max_d=20的原因,因为20和200得出的图是一样的,后面的数据全都溢出了。
顺便问你一下,有没有预测时间序列用的matlab程序,如果有给我一份可以吗?谢谢了
发表于 2007-9-8 20:28 | 显示全部楼层

回复 #24 winterdij 的帖子

第一  我对比了你的程序和我的程序没什么不一样   而且试了三次洛仑兹系统的时间延迟均为6
    和陆振波还有一片外文中的时间延迟11是不一致的   不知道你的时间延迟结果是什么  是否一致
第二  调整了程序中的一个小错误后 我在计算到200中间最后只出现 一个NAN 在45处
第三  我没有预测时间序列用的程序   有幸找到的话会告诉你的

评分

1

查看全部评分

发表于 2007-9-8 22:47 | 显示全部楼层
我又看了你的文档,你的洛仑兹系统的结果我不知道和谁进行了验证,怎么认为是可靠的,你那结果我也出来了  而且不会出现 NAN 的中间信息   请自己检查一下是不是正确可靠
 楼主| 发表于 2007-9-10 15:07 | 显示全部楼层

回复 #26 sssssxxxxx921 的帖子

1.首先非常感谢你对我的帮助,我也看了你在《请教 关于CC方法中max_d的设置》这个帖子里的评论,我也非常支持你的想法,希望大家一起努力能够解决这个问题。

2.我在发给你的程序里计算出的Lorenz时间序列蓝线最小是3,Logistic的时间序列蓝线最小是2.
我的对比数据来自ChaosToolbox1.0_trial_matlab6.5中文件夹LargestLyapunov_Rosenstein中的两个程序。
Lorenz 混沌时间序列来自Main_LargestLyapunov_Rosenstein2.m,其中有段程序如下:
% 产生 Lorenz 混沌时间序列

sigma = 16;             % Lorenz 方程参数 a
b = 4;                  %                 b
r = 45.92;              %                 c            

y = [-1,0,1];           % 起始点 (1 x 3 的行向量)
h = 0.01;               % 积分时间步长

k1 = 30000;             % 前面的迭代点数
k2 = 6000;              % 后面的迭代点数

z = LorenzData(y,h,k1+k2,sigma,r,b);
x = z(k1+1:end,1);      % 时间序列

%-----------------------------------------------------------------
% Lorenz 入口参数

tau = 10;               % 时延
m = 3;                  % 嵌入维
taumax = 300;           % 最大离散步进时间
P = 100;                 % 序列平均周期
fs = 1/h;               % 采样频率

Logistic 混沌时间序列来自Main_LargestLyapunov_Rosenstein1.m,其中有段程序如下:
% 产生 Logistic 混沌时间序列

lambda = 4;

k1 = 10000;             % 前面的迭代点数
k2 = 10000;             % 后面的迭代点数
x0 = rand(1);

x = zeros(k1+k2,1);
for i = 1:k1+k2
    x0 = lambda*x0*(1-x0);
    x(i) = x0;
end
x = x(k1+1:end);

%-----------------------------------------------------------------
% Logistic 入口参数

tau = 1;                % 时延
m = 2;                  % 嵌入维
taumax = 30;            % 最大离散步进时间
P = 100;                % 序列平均周期
fs = 1;                 % 采样频率


我发现cc方法计算出的蓝线最小点和嵌入维数是相同的,是否蓝线最小点对应的应该是嵌入维数呢??


3.最后,你是否能够把你的程序发给我一份,让我研究一下呢?
我的邮箱:winterdij@163.com
发表于 2007-9-10 16:28 | 显示全部楼层

回复 #27 winterdij 的帖子

你说的第一个最小点我也看到了是3,第一条线的第一个零点应该是6,第三条星线最小值我好像记得是21,这明显与我看到的两篇文献不符,和那上边的图也是差很多
第二  先弄好了时间延迟再说嵌入维数吧,因为嵌入维数理论上C-C方法就可以确定,但我看他们的论文也是不太符合,等弄出时间延迟,再对比G-P算法得出来的结果、参考资料结果    几个结果对应着看看哪个更适合一些
发表于 2007-9-10 21:45 | 显示全部楼层
忘了和你说了  已发送你的邮箱请注意查收
 楼主| 发表于 2007-9-11 09:51 | 显示全部楼层

回复 #29 sssssxxxxx921 的帖子

你的程序,我这无法运行,是因为de45('Lorenz',t_span,y0);运行错误,
现在真的是很困难啊,初稿10月就要交了,现在卡在这里,真是困难。
我今天想是否可以使用G_P算法,计算关联维数,在用其他方法反算时间延迟和嵌入维数,从而进行验证啊?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-4 23:27 , Processed in 0.057132 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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