⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calcmu2.m

📁 一个利用元胞自动机进行生态仿真的matlab程序
💻 M
字号:
function mu=calcmu2(code,type,lnei)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CALCMU2
% Calculate and display mu-parameter of 2-dimensional CAs
%
% called by RULEGEN2
%
%	Fist Coded			22  April  1998
%	Last Modefied		3   June  1998
%
%	Copyright (c)
%	T. Suzudo JAERI-CAIL
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Argument
% type	: rule type 1:totalistic 2:outer-totalistic 3:symmetry
% code	: rule code
% lnei	: neighbor

mu=0;		% mu-parameter
nrule=2^lnei;% total number of rules
%% Totalistic
%%
if type==1
	if lnei==5
		error('ERROR : Function is not ready for the given arguments');
	elseif lnei==9
		error('ERROR : Function is not ready for the given arguments');
	else
		error('ERROR : Invalid number of neighbors');	
	end
%% Outer-totalistic
%%
elseif type==2
	if lnei==5
		if code(1)==1 mu=mu+1/nrule; end
		if code(2)==1 mu=mu+4/nrule; end
		if code(3)==1 mu=mu+6/nrule; end
		if code(4)==1 mu=mu+4/nrule; end
		if code(5)==1 mu=mu+1/nrule; end
		if code(6)==0 mu=mu+1/nrule; end
		if code(7)==0 mu=mu+4/nrule; end
		if code(8)==0 mu=mu+6/nrule; end
		if code(9)==0 mu=mu+4/nrule; end
		if code(10)==0 mu=mu+1/nrule; end
	elseif lnei==9
		error('ERROR : Function is not ready for the given arguments');
	else
		error('ERROR : Invalid number of neighbors');	
	end
%% Symmetry
%%
elseif type==3
	if lnei==5
		if code(1)==1 mu=mu+1/nrule; end
		if code(2)==1 mu=mu+4/nrule; end
		if code(3)==1 mu=mu+4/nrule; end
		if code(4)==1 mu=mu+2/nrule; end
		if code(5)==1 mu=mu+4/nrule; end
		if code(6)==1 mu=mu+1/nrule; end

		if code(7)==0 mu=mu+1/nrule; end
		if code(8)==0 mu=mu+4/nrule; end
		if code(9)==0 mu=mu+4/nrule; end
		if code(10)==0 mu=mu+2/nrule; end
		if code(11)==0 mu=mu+4/nrule; end
		if code(12)==0 mu=mu+1/nrule; end
	else
		error('ERROR : Invalid number of neighbors');	
	end
else
	error('ERROR : No such rule type');	
end

⌨️ 快捷键说明

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