有人用过陆振波博士求时间序列关联维数和熵的程序么?
本帖最后由 牛小贱 于 2014-3-7 20:36 编辑RT,我最近做时间序列的分析,在网上找的陆振波博士的计算时间序列关联维数和熵的程序,对时间序列进行HHT滤波处理之后,导入陆博士的程序,有些得到的是nan和0.00000,这些说明什么情况呢?有人做过吗?求教我一下
下面的是主程序:
clc
clear all
close all
x=importdata('D:\Documents\Desktop\新的要求\10-30%-5.mat'); % 时间序列(列向量)
x=x';
%--------------------------------------------------------------------------
% G-P算法计算关联维
k=length(x);
rr = 0.5;
Log2R = -6:rr:0; % log2(r)
R = 2.^(Log2R);
fs =100; % 信号采样频率
t = 10; % 时延
dd = 4; % 嵌入维间隔
D = 4:dd:72; % 嵌入维
p = 50; % 限制短暂分离,大于序列平均周期(不考虑该因素时 p = 1)
tic
Log2Cr = log2(CorrelationIntegral(x,t,D,R,p)); % 输出每一行对应一个嵌入维
toc
%--------------------------------------------------------------------------
% 结果作图
figure
plot(Log2R,Log2Cr','k.-'); axis tight; hold on; grid on;
xlabel('log2(r)');
ylabel('log2(C(r))');
title(['signal, length = ',num2str(k)]);
%--------------------------------------------------------------------------
% 最小二乘拟合
Linear = ; % 线性似合区域
= LM2(Log2R,Log2Cr,Linear); % 最小二乘求斜率和截距
disp(sprintf('Correlation Dimension = %.4f',a));
for i = 1:length(D)
Y = polyval(,Log2R(Linear),1);
plot(Log2R(Linear),Y,'r');
end
hold off;
%--------------------------------------------------------------------------
% 求梯度
Slope = diff(Log2Cr,1,2)/rr; % 求梯度
xSlope = Log2R(1:end-1); % 梯度所对应的log2(r)
figure;
plot(xSlope,Slope','k.-'); axis tight; grid on;
xlabel('log2(r)');
ylabel('Slope');
title(['signal, length = ',num2str(k)]);
%--------------------------------------------------------------------------
% 差分求K熵
KE = -diff(B)/(dd*t)*fs*log(2); % 用采样频率 fs 和公式 log(x) = log2(x)*log(2) 将单位转化成 nats/s
D_KE = D(1:end-1); % K熵所对应的嵌入维
figure;
plot(D_KE,KE,'k.-'); grid on; hold on;
xlabel('m');
ylabel('Kolmogorov Entropy (nats/s)');
title(['signal, length = ',num2str(k)]);
%--------------------------------------------------------------------------
% 输出显示
disp(sprintf('Kolmogorov Entropy = %.4f',min(KE)));处理一组数据后得到的图形如下:
本帖最后由 happy 于 2012-12-3 14:56 编辑
没有数据,没有代码,没有说明输出是什么,这个问题无从回答
建议看看http://forum.vibunion.com/thread-36219-1-1.html
把问题说明清楚 我试过之后感觉出来的Kolmogorov Entropy图不对,结果并不收敛!!!{:{19}:} 章紫风 发表于 2012-12-3 18:54 static/image/common/back.gif
我试过之后感觉出来的Kolmogorov Entropy图不对,结果并不收敛!!!
你的时间序列是仿真结果还是实验结果? happy 发表于 2012-12-4 09:40 static/image/common/back.gif
你的时间序列是仿真结果还是实验结果?
仿真结果,就是Lorenz模型,Kolmogorov Entropy随着m值变化,结果不收敛,图像是先下降然后居然又上升。还有那个程序有使用次数限制吗? 章紫风 发表于 2012-12-5 20:51 static/image/common/back.gif
仿真结果,就是Lorenz模型,Kolmogorov Entropy随着m值变化,结果不收敛,图像是先下降然后居然又上升。还 ...
1. 检查一下仿真得到的时间序列是否已经提出了瞬态响应数据
2. 没听说过他的工具包有这方面的限制 happy 发表于 2012-12-6 10:58 static/image/common/back.gif
1. 检查一下仿真得到的时间序列是否已经提出了瞬态响应数据
2. 没听说过他的工具包有这方面的限制
非常感谢,我的问题差不多解决了!!! 章紫风 发表于 2012-12-6 18:32 static/image/common/back.gif
非常感谢,我的问题差不多解决了!!!
建议解决问题后把相关的情况和大家分享一下 章紫风 发表于 2012-12-6 18:32 static/image/common/back.gif
非常感谢,我的问题差不多解决了!!!
同求解决,不知道能否交流一下? 我想请问相关的问题 章紫风 发表于 2012-12-6 18:32
非常感谢,我的问题差不多解决了!!!
希望你分享一下你的经验,方便大家学习!谢了{:{04}:} 你好,我是中国矿业大学的研究生,我在网上看到你发的一篇帖子,我对里面的内容很感兴趣。不知道你现在还有没有涉及柯尔莫戈洛夫熵值的领域。我想和你就我们共同感兴趣的地方交流一下。我的QQ是652247469.如果你方便的话请加我QQ好友。谢谢! 31行程序的LM2是什么?子函数么?matlab没这个命令。如果是子函数,那是求什么的?子函数具体什么样?求解答!
页:
[1]