sss.m

来自「symbol sequence statistics 符号序列统计源码」· M 代码 · 共 56 行

M
56
字号
%% symbol sequence statistics

function [Hs]=SSS(x) %% x是行向量

[n,m]=size(x);
%% 生成符号序列
for i=1:m
    
    if x(i)>0
        
        s(i)=1;
        
    else
        
        s(i)=0;
        
    end
    
end

%% 构造符号树
M=0; %% 符号序列总数
Hs=0; %% 信息熵Hs
for i=1:m
    N=zeros(2^i,1);
    Y=zeros(m-i+1,i);   %% 生成的序列矩阵
    for j=i:m
       Y(j-i+1,1:i)=[s(j-i+1:j)];
    end
    %% 将二进制转换为十进制
    for j=1:size(Y,1)
        y(i,j)=bin2dec(int2str(Y(j,:)));  
    end
    %% 计算概率
    for j=0:2^i-1
        for k=1:size(Y,1)
            if y(i,k)==j
                N(j+1)=N(j+1)+1;
            end
        end
        P(i,j+1)=N(j+1)/size(Y,1);
        if P(i,j+1)>0
            Hs=Hs+P(i,j+1)*log10(P(i,j+1));
        end
    end
    M=M+2^i;
end

%% 信息熵Hs的计算
Hs=-1/log10(M)*Hs;





⌨️ 快捷键说明

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