function wentropy_dyn(infile,prognozfile,entrfile);
% динамическая визуализация вейвлет-єнтропии (волн)

%infile='dj1900_20110320.txt';
infile='UX.txt';
datafile='UX_dt.txt';
Y=dlmread(infile);
D_Y=importdata(datafile);
Y=transpose(Y);
N=length(Y);
%if length(Y)>2000
%    Y=Y(length(Y)-2000:length(Y));
%    fprintf(1,'Time series are cutted: last 2000 points are used.\n');
%end
wtype=2;
wetype=1;
plotOn=0;
%nend=12200;
%nbeg=nend-1000;
N=300;
window=250;%890;%200;

minscale=1; % диапазон скейлов для построения энтропиии (миним. скейл)
maxscale=254; % диапазон скейлов для построения энтропиии (максим. скейл)
mscale=150; % номер выбираемого масштаба в случае выбора определенного масштаба из поверхности вместо энтропии
entropyscale=0; % 0 - entropy, 1 - scale; Calculating using mscale above
%figure;
%ax1=axes;
cp=[0.0680   -0.2144    3.6526]*1000;
cp1=[0.0680   -0.2144    3.6526]*1000;

figure;
ax1=subplot(3,1,1);%axes;
ax2=subplot(3,1,2);%axes;
ax_y=subplot(3,1,3);
%entr3moment;

mastimes=[];
masmintimes=[];
masmaxtimes=[];
masmaxotnosh=[];
mascurotnosh=[];
mascuravgotnosh=[];
mast=[];
cpset=1;


for i=251:1180%26800:27300%7449:7500%21970:22000%20160:1:20420%19597:5:20197%1400:1510%900:10:3300%19997:20097%:9100:19400%14606:10:15300
    nend=i*1;%+window;
    nbeg=i-window;%600;%19667;%9100;%i*1;
    Y1=Y(nbeg:nend);
    [SWT,POWER,Pj]=waventropy_stepen(Y1,wtype,wetype,0,minscale,maxscale,2,0);%80,200);%74,76);%244,246);
    axes(ax1);
    hh=mesh(POWER);
        set(gcf,'Renderer','zbuffer');
    [SWT2,POWER2,Pj2]=waventropy_stepen(Y1,wtype,wetype,0,minscale,maxscale,3,0);%80,200);%74,76);%244,246);
    %axes(ax2);
    %hh=mesh(POWER2);
    %set(gcf,'Renderer','zbuffer');
    axes(ax_y);
    h=plot(Y1);
    grid on;
    xtick=get(gca,'XTick');
    xticklabel={};
    for kk=1:length(xtick)
        xticklabel{kk,1}=num2str(xtick(kk)+i-window);
    end
    set(gca,'XTickLabel',xticklabel);
    ff=xlabel([D_Y(i)]);
    set(ff,'FontWeight','Bold');

    [n,m]=size(POWER);
    if (~entropyscale)
        Y_w=Pj2;%POWER(maxscale,:);%Pj; %pered 200 bulo uroven 70
    else
        Y_w=POWER2(mscale,:);
    end
    axes(ax2);
    
    hold off;
    %plot(POWER(maxscale,:)); %bulo 70
    plot(Y_w);
    grid on;
    timefirst=1; % для того, чтобы что-то считало
    Razmah=1;
    last_peak_value2=1;
    last_peak_value1=1;
    last_peak_value0=1;
    last_value=Y_w(length(Y_w));
    maxlastpeek=1;
    avglastpeek=1;
    ifirst_predict=1;
    ifirstmax=1;
    

    mastimes=[mastimes,timefirst+nbeg];
    masmintimes=[masmintimes,timefirst+nbeg-Razmah];
    masmaxtimes=[masmaxtimes,timefirst+nbeg+Razmah];
    mast=[mast,i];
    
    %otnosh_maxs=(last_peak_value2-last_peak_value1)/(last_peak_value1+last_peak_value2);
    otnosh_maxs=(last_peak_value2/last_peak_value1);%/(last_peak_value1+last_peak_value2);
    otnosh_maxs0=(last_peak_value1/last_peak_value0);%/(last_peak_value1+last_peak_value2);
    otnosh_last=(last_value/max(last_peak_value1,last_peak_value2));%/(last_value+max(last_peak_value1,last_peak_value2));
    %otnosh_max_avg=avglastpeek;
    otnosh_max_avg=maxlastpeek/avglastpeek;
    masmaxotnosh=[masmaxotnosh,otnosh_maxs];
    mascurotnosh=[mascurotnosh,otnosh_max_avg];
    mascuravgotnosh=[mascuravgotnosh,maxlastpeek];

    if otnosh_maxs>0
        if (timefirst+nbeg<=length(D_Y))
            info=sprintf('crisis!!! %s', D_Y{timefirst+nbeg});
        else
            info='crisis!!!';
        end
    else
        info='';
        %if otnosh_last>1
       %     info='crisis last???';
       % else
       %     info='ok';
       % end
    end
    fp=fopen('log.txt','a');
    fprintf(fp,'t=%d\tTimeMax=%d, rozmah=%d, nmax=%d, otn_maxs=%d, otn_maxs0=%d, otn_last=%d, maxpeek=%d, info=%s\n',i-window,timefirst+nbeg,Razmah,ifirst_predict+ifirstmax-1,otnosh_maxs,otnosh_maxs0,otnosh_last,otnosh_max_avg,info);
    fprintf(1,'t=%d\tTimeMax=%d, rozmah=%d, nmax=%d, otn_maxs=%d, otn_maxs0=%d, otn_last=%d, maxpeek=%d, info=%s\n',i-window,timefirst+nbeg,Razmah,ifirst_predict+ifirstmax-1,otnosh_maxs,otnosh_maxs0,otnosh_last,otnosh_max_avg,info);
    fclose(fp);
    

    set(ax1,'CameraPosition',cp);
    
    %set(ax2,'CameraPosition',cp1);
    if (cpset)
        input('Выставьте угол обзора и нажмите ентер!');
        cpset=0;
    end
    axes(ax1);
    ytick=get(gca,'YTick');
    ytick=ytick+minscale;
    yticklabel={};
    for kk=1:length(ytick)
        yticklabel{kk,1}=num2str(ytick(kk));
    end
    set(gca,'YTickLabel',yticklabel);

    savemeshfigure(ax1,nend-nbeg,nbeg,'fig.bmp');
    %input('press enter','s')
    %pause(1);
    %pause on;
    %input('Выставьте угол обзора и нажмите ентер!');
    cp=get(ax1,'CameraPosition');
    %cp1=get(ax2,'CameraPosition');
end
figure;
plot(mastimes,'r');
hold on;
plot(masmintimes);
plot(masmaxtimes);
plot(mast,'k');
figure;
plot(masmaxotnosh);
title ('max otnosh');
figure;
plot(mascurotnosh);
title ('отношение мах к среднему');

figure;
plot(mascuravgotnosh);
title ('Max peek');

