📄 entspa.m
字号:
function h=entspa(X,lns)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Calculate entropy of CA configuration
%
%
% Fist Coded 3 June 1998
% Last Modefied 3 June 1998
%
% Copyright (c)
% T. Suzudo JAERI-CAIL
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Argument
% X : CA Matrix
% lns ; state per cell
%
% Variables
% h : average spatial entropy
% tn: total number per state
% nx: x-number of local sites
% ny: y-number of local sites
% ps : number of state per patch
% Matrix size
nlx = size(X,1);
nly = size(X,2);
if ~(nlx==nly) erorr('ERROR: Rectangle Matrix is not allowed.')
else nl=nlx;
end
sk=[1:2:nl-1];
sk1=[2:2:nl];
n2 = fix(size(X,1)/2);
tp = n2^2; % total patch number
Y=zeros(n2);
% how many states
% We take 2x2 patchm, so
ps = lns^4;
% Calculate the probability
Y=X(sk,sk) + 2*X(sk1,sk) + 4*X(sk,sk1) + 8*X(sk1,sk1);
h = 0;
for ii=0:ps-1
tn = sum(sum(~(Y-ii)));
if tn>0
h = h - (tn/tp)*log(tn/tp)/log(ps);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -