function ENTR=waven(X,DJ,SO,J1)
% 
% X - вхідний ряд
% DJ - відстань між масштабами
% SO - найменший масштаб
% J1 - кількість масштабів
%
% ENTR - ряд ентропій

[m,n]=size(X);
if (m==1)
    X=X';
end

[ARG,PERIOD,SCALE,COI]=wavelet(X,1,0,DJ,SO,J1-1);
[m,n]=size(ARG);

% знаходимо енергію
ARG=abs(ARG);
ARG=ARG.*ARG;
% всі нулі міняємо на 1E-6
for i=1:m
    for j=1:n
        if (ARG(i,j)==0) ARG(i,j)=1e-6; end
    end
end
% розраховуємо загальні енергії для кожного часу
SUMS=sum(ARG);
% знаходимо ймовірності та значення ентропії
P=ARG;
ENTR=zeros(n,1);
for i=1:n
    P(:,i)=P(:,i)/SUMS(i);
    ENTR(i)=-sum(P(:,i).*log2(P(:,i)));
end
