function [H,H_naive]=temporal_entropies(sequenz,mmax);
%Berechnet Entropien für Teilsequenzen der Länge 1 bis mmax.  
ngesamt=length(sequenz);
s1=sum(sequenz);
n0=[s1,ngesamt-s1];
H=zeros(mmax+1,1);
H_naive=zeros(mmax+1,1);
if (s1*(ngesamt-s1) >0)
    H(1)=log(ngesamt)-sum(n0*psi(n0)')/(ngesamt);
    H_naive(1)=log(ngesamt)-sum(n0*log(n0)')/(ngesamt);
    m=mmax;
    nm=zeros(1,2^(m+1));
    vec2=2.^(0:m);
    for l=1:(ngesamt-m)
        indx=vec2*sequenz(l:(l+m))+1;
        nm(indx)=nm(indx)+1;
    end    
    nm0=nm(find(nm>0));
    ngesamt=sum(nm0);
    H(m+1)=log(ngesamt)-sum(nm0*psi(nm0)')/(ngesamt);
    H_naive(m+1)=log(ngesamt)-sum(nm0*log(nm0)')/(ngesamt);
    while (m >=1)
        nm=nm(1,2*(1:2^m))+nm(1,2*(1:2^m)-1);       
        nm0=nm(find(nm>0));
        H(m)=log(ngesamt)-sum(nm0*psi(nm0)')/(ngesamt);
        H_naive(m)=log(ngesamt)-sum(nm0*log(nm0)')/(ngesamt);
        m=m-1;
    end 
else 
        H(1:mmax+1)=0;
        H_naive(1:mmax+1)=0;
end