📄 lianxi.m
字号:
% sigma = 10; % Lorenz方程参数
% r = 28;
% b = 8/3;
%
% y = [-1;0;1]; % 起始点 (3x1 的列向量)
% h = 0.01; % 积分时间步长
%
% k1 =8000; % 前面的迭代点数10000
% k2 =5000; % 后面的迭代点数5000
%
% z = LorenzData(y,h,k1+k2,sigma,r,b);
% X = z(k1+1:end,1);
clc
% clear
load data13;
X=data13;
% X=denosie1(X);%去除噪声
% X=denosie2(X);%再次去噪
% tau=Mutual_Information_main(X);%互信息法求延迟时间tau
% plot(X)
tau=6;
X = normalize_1(X); % 归一化
data=X';
logdelt = 0.2;
% delt=std(X); %计算标准差,求r的范围
ln_r = [-7:logdelt:0];
%r=[delt./2:0.004:2*delt];
delt = exp(ln_r);
K1=[];
K1(1)=0;
K13=[];
K13(1)=0;
GP=[];
GP(1)=0;
m=1;
for k=1:length(ln_r)
r=delt(k);
C(k)=correlation_interal(m,data,r,tau);% 输出变量为关联积分
m,k
if (C(k)<0.0001)
C(k)=0.0001;
end
ln_C(k)=log(C(k));%lnC(r)
% ln_r(k)=log(r(k));%lnr
end %k循环完毕
ln_Cr=ln_C;
ln_r=ln_r;
LinearZone = [10:25];
Xj=ln_r(LinearZone);
Yj=ln_Cr(LinearZone);
X_mean=mean(Xj);
Y_mean=mean(Yj);
% for j=1:length(LinearZone)
l_xy=sum((Xj-X_mean).*(Yj-Y_mean));
l_xx=sum((Xj-X_mean).*(Xj-X_mean));
a=l_xy./l_xx;
b1=Y_mean-a*X_mean;
K13(m)=b1./(m*tau);
for m=2:20
% for k=1:length(r)
for k=1:length(ln_r)
r=delt(k);
C(k)=correlation_interal(m,data,r,tau);% 输出变量为关联积分
m,k
if (C(k)<0.0001)
C(k)=0.0001;
end
ln_C(k)=log(C(k));%lnC(r)
% ln_r(k)=log(r(k));%lnr
end %k循环完毕
C;
%------------------------------------------------------
% 拟合线性区域
ln_Cr=ln_C;
ln_r=ln_r;
LinearZone = [10:25];
F = polyfit(ln_r(LinearZone),ln_Cr(LinearZone),1);
GP(m)=F(1); K1(m)=F(2);
K1(m)=K1(m)/(m*tau);
Xj=ln_r(LinearZone);
Yj=ln_Cr(LinearZone);
X_mean=mean(Xj);
Y_mean=mean(Yj);
% for j=1:length(LinearZone)
l_xy=sum((Xj-X_mean).*(Yj-Y_mean));
l_xx=sum((Xj-X_mean).*(Xj-X_mean));
a=l_xy./l_xx;
b=Y_mean-a*X_mean;
K13(m)=(b1-b)./(tau);
b1=b;
% if (abs((GP(m)-GP(m-1)))<0.01)
% break;
% end
% subplot(411)
% plot(ln_r,ln_C,'+:');grid on;
% xlabel('ln r'); ylabel('ln C(r)');
% hold on;
end
subplot(211)%画出K熵随嵌入维数m变化的图,
X=[1:1:m];
Y1=K1;
plot(X,Y1,':m*');
axis([2 20 0 0.9])
hold on;grid on;
xlabel('m'); ylabel('K1');
% subplot(421)%画出关联积分随嵌入维数m变化的图,
% X=[1:1:m];
% Y2=GP;
% plot(X,Y2,':m*');
% title('The plot lnC(r) vs.lnr');
% %legend('关联维数随 m 变化最终趋于不变',2)
% hold on;
% grid on;
% xlabel('m'); ylabel('关联维数 D(m) ');
subplot(212)%画出K熵随嵌入维数m变化的图,
X=[1:1:m];
Y3=abs(K13);
plot(X,Y3,':m*');
axis([6 20 0 0.2])
hold on;grid on;
xlabel('m'); ylabel('K2');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -