?? sss.m
字號:
%% 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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -