声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1604|回复: 0

[分形与混沌] Kolmogorov熵的正负

[复制链接]
发表于 2011-3-8 20:20 | 显示全部楼层 |阅读模式

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

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

x
大家好,最近我在网上找了一个求Kolmogorov熵的程序,运行虽然可以运行出结果,但是却得出了一个负值。
根据书上的解释:    Kolmogorov熵进一步把信息熵的概念精确化,用来度量系统运动的混乱程度或无序的程度,用K值可判断系统运动的性质:(1)K=0,表示系统做规则运动,(2)K=无穷,表示系统做随机运动,(3)若K取有限正值,表示系统做混沌运动。
    根据这个解释来的话,那么Kolmogorov的值肯定不能为负的,所以我有些许疑惑,请高手帮忙解释一下或者指出程序中的错误,谢谢!
程序如下:
function [shang]=jss(xdate)
xdate=[]
m=3;
n=length(xdate)
r=0.2*std(xdate)
cr=[];
gn=1;
gnmax=m;
while gn<=gnmax
x2m=zeros(n-m+1,m);%存放变换后的向量
d=zeros(n-m+1,n-m);% 存放距离结果的矩阵
cr1=zeros(1,n-m+1);%存放
k=1;
for i=1:n-m+1
  for j=1:m
    x2m(i,j)=xdate(i+j-1);
  end
end
x2m;


for i=1:n-m+1
  for j=1:n-m+1
      if i~=j
        d(i,k)=max(abs(x2m(i,:)-x2m(j,:)));%计算各个元素和响应元素的距离
        k=k+1;
      end
end
    k=1;
end
d;   
for i=1:n-m+1
  [k,l]=size(find(d(i,:)<r));%将比R小的个数传送给L
    cr1(1,i)=l;
end
cr1;

cr1=(1/(n-m))*cr1;
sum1=0;
for i=1:n-m+1
  if cr1(i)~=0
  sum1=sum1+log(cr1(i));
  end
end
cr1=1/(n-m+1)*sum1;
cr(1,gn)=cr1;
gn=gn+1;
m=m+1;
end
cr;
shang=cr(1,1)-cr(1,2);
回复
分享到:

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-19 12:15 , Processed in 0.050865 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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