clear all
close all
load('p1.txt');
load('p2.txt');
syms a1;
syms a2;
n=length(p1);%数据的个数
m=length(p2);%数据的个数
k1=0;k2=0;kL1=[];kL2=[];
a1=sum(p1);%存储p1数据的和
a2=sum(p2);%存储p2数据的和
p=p1./a1;
q=p2./a2;
%%%%滞后循环%%%%%%
for L=1:10
for t=L:n-L
k1=k1-p(t)*(log(p(t)/q(t+L)));
end
k1=abs(k1);
kL1=[kL1,k1];
end
%%%%%%先行循环%%%%%%%%%
double kL2;
for L=-10:-1
for t=abs(L)+1:n
k2=k2-p(t)*(log(p(t)/q(t+L)));
end
k2=abs(k2);
kL2=[kL2,k2];
end
kL=[kL2,kL1];
c=find(kL==min(min(kL)));%找出最小值位置L行c列对应的L值
minkL=kL(c);%K1中的最小值
请问已经求出最小的K-L信息量了,怎么用代码实现求出最小K-L信息量对应的滞后阶次呢,谢谢