mutual_main3.m

来自「混沌分析中互信息求延迟时间t的matlab程序」· M 代码 · 共 63 行

M
63
字号
function  tau=mutual_main(data)
%互信息法求tau
c=load('D:/Program Files/MATLAB71/work/gzmbig.txt');
c=c.*0.01;
[thr,sorh,keepapp]=ddencmp('den','wv',c);
data=wdencmp('gbl',c,'db4',2,thr,sorh,keepapp);
maxLags = 100;  % 本程序默认最大时延
Part = 128;  
[entropy]=mutual(data,100);
for i = 1:length(entropy)-1           
    if (entropy(i)<=entropy(i+1))
        tau = i;            % 第一个局部极小值位置
        break;
    end
end
tau1 = tau -1               % r 的第一个值对应 tau = 0,所以要减 1
a=entropy
subplot(2,2,1)
plot(0:length(entropy)-1,entropy)
xlabel('\tau');
ylabel('II825-工作面平均互信息量')
hold on;
c=load('D:/Program Files/MATLAB71/work/smsmall.txt');
c=c.*0.01;
[thr,sorh,keepapp]=ddencmp('den','wv',c);
data=wdencmp('gbl',c,'db4',2,thr,sorh,keepapp);;%采煤面;     % 时间序列,列向量
maxLags = 100;  % 本程序默认最大时延
Part = 128;    
[entropy]=mutual(data,100);
for i = 1:length(entropy)-1           
    if (entropy(i)<=entropy(i+1))
        tau = i;            % 第一个局部极小值位置
        break;
    end
end
tau2 = tau -1               % r 的第一个值对应 tau = 0,所以要减 1
b=entropy;
subplot(2,2,2)
plot(0:length(entropy)-1,entropy)
xlabel('\tau');
ylabel('II825-4#石门平均互信息量')

hold on;
c=load('D:/Program Files/MATLAB71/work/jhm.txt');
[thr,sorh,keepapp]=ddencmp('den','wv',c);
data=wdencmp('gbl',c,'db4',2,thr,sorh,keepapp);
maxLags = 100;  % 本程序默认最大时延
Part = 128;  
[entropy]=mutual(data,100);
for i = 1:length(entropy)-1           
    if (entropy(i)<=entropy(i+1))
        tau = i;            % 第一个局部极小值位置
        break;
    end
end
tau3 = tau -1               % r 的第一个值对应 tau = 0,所以要减 1
c=entropy;
subplot(2,2,3)
plot(0:length(entropy)-1,entropy)
xlabel('\tau');
ylabel('II825-2#机巷平均互信息量')

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?