function [lzc]=PLZC(r,m)
n=length(r);
ss='abcdefghijklmnopgrstuvwsyz';
[acf,lags] = autocorr(r,n-1);
tttt=find(acf<=exp(-1));
l=lags(tttt(1));
a=zeros(n-(m-1)*l,m);
b=ones(n-(m-1)*l,1);
for i=1:m
a(:,i)=r(1+(i-1)*l:n+(i-m)*l);
end
[~,o]=sort(a,2);
tt=num2str(perms([1:m]));
xx=size(tt);
l1=xx(1);
pp=zeros(1,length(tt));
mm=num2str(o);
xxx=size(mm);
l2=xxx(1);
for i=1:l1
for j=1:l2
t=strequal(tt(i,:),mm(j,:));
if t==1
s(j)=ss(i);
end
end
end
x=s;
ls=length(x);
c = 1; %模式初始值
S = x(1);Q = [];SQ = []; %S Q SQ初始化
for i=2:length(x)
Q = strcat(Q,x(i));
SQ = strcat(S,Q);
SQv = SQ(1:length(SQ)-1);
if isempty(strfind(SQv,Q)) %如果Q不是SQv中的子串,说明Q是新出现的模式,执行c 加1操作
S = SQ;
Q = [];
c = c+1;
end
end
%b = length(x)/(log(length(x))/log(3));%3个字符的串用这个
%b=length(x)/log2(length(x));%2个字符的串用这个
lzc = c*log(ls)/log(factorial(m))/ls;
return;