回复 #15 sssssxxxxx921 的帖子
我用Logistic和Lorenz做了,都正确,程序也是我从Chaos Toolbox Ver.2.0工具箱里找的,我认为没有问题。 如果实在不行的话可以先试算一下,应该会有收敛解的!回复 #16 winterdij 的帖子
能把你验算的例子给我发一下吗,我总和书上的结果错很多 我的邮箱ssssxxxx921@sohu.com回复 #19 sssssxxxxx921 的帖子
我已经给你发过去了,请查收。回复 #20 winterdij 的帖子
谢谢我已收到只不过为什么我做出来的都是直线 用你的程序你数据也不好使以下是我用你的数据(WORD中第一个你自己的数据)做的 为什么会出现这种情况了 很是郁闷
其中洛仑兹系统是按其他论文上取50001----53000点做的 结果和那上边的图错十万八千里 根据你的数据我又算了一遍,怎么图和你的一样数据却不对呢
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 除呢,我相信你的也出现了吧你是怎么解决的或怎么认为
应该不是数据少的原因吧
回复 #23 sssssxxxxx921 的帖子
你是用的我的程序吗?我的程序输出是delt_s s_corNaN我一开始也不知道怎么回事,后来看网上的各种说法,我认为是数据计算精度的问题,数据溢出了,这是我为什么选max_d=20的原因,因为20和200得出的图是一样的,后面的数据全都溢出了。
顺便问你一下,有没有预测时间序列用的matlab程序,如果有给我一份可以吗?谢谢了
回复 #24 winterdij 的帖子
第一我对比了你的程序和我的程序没什么不一样 而且试了三次洛仑兹系统的时间延迟均为6和陆振波还有一片外文中的时间延迟11是不一致的 不知道你的时间延迟结果是什么是否一致
第二调整了程序中的一个小错误后 我在计算到200中间最后只出现 一个NAN 在45处
第三我没有预测时间序列用的程序 有幸找到的话会告诉你的 我又看了你的文档,你的洛仑兹系统的结果我不知道和谁进行了验证,怎么认为是可靠的,你那结果我也出来了而且不会出现 NAN 的中间信息 请自己检查一下是不是正确可靠
回复 #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
回复 #27 winterdij 的帖子
你说的第一个最小点我也看到了是3,第一条线的第一个零点应该是6,第三条星线最小值我好像记得是21,这明显与我看到的两篇文献不符,和那上边的图也是差很多第二先弄好了时间延迟再说嵌入维数吧,因为嵌入维数理论上C-C方法就可以确定,但我看他们的论文也是不太符合,等弄出时间延迟,再对比G-P算法得出来的结果、参考资料结果 几个结果对应着看看哪个更适合一些 忘了和你说了已发送你的邮箱请注意查收
回复 #29 sssssxxxxx921 的帖子
你的程序,我这无法运行,是因为de45('Lorenz',t_span,y0);运行错误,现在真的是很困难啊,初稿10月就要交了,现在卡在这里,真是困难。
我今天想是否可以使用G_P算法,计算关联维数,在用其他方法反算时间延迟和嵌入维数,从而进行验证啊?