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

📄 rgen129.m

📁 一个利用元胞自动机进行生态仿真的matlab程序
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% RGEN129
% Rule generator for 1-dimensional CA
% when number of states is 2 and when number of neighbors is 9
% This script-M file is called by RULEGEN1
%
%	Fist Coded			28  April    1997
%	Last Modefied		19  August    1997
%
%	Copyright (c)
%	T. Suzudo JAERI-CAIL
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cleanup='clear tr_hand* x y x0 y0 dx dy wx;';

fig11=figure(11);

x0=0.01;
y0=0.95;
dx=0.012;
dy=0.05;
wx=0.25;

% Title
x=x0;
y=y0;
uicontrol(fig11,'Style','text','String','Rule Generator for 1 dimension K=2 N=9',...
		'Fontsize',12,...
		'foregroundcolor','red',...
		'Units','normalized',...
		'position',[0,y,1,dy]);

% Totalistic rule
if ltot==1
	tr_hand=zeros(lnei+1,1);
	for ii=1:lnei+1
		x=x0+wx;
		y=y0-ii*dy;
		tr_hand(ii)=uicontrol(fig11,'Style','checkbox',...
			'Units','normalized',...
			'Position',[x y wx dy],...
			'String',['Total ' num2str(ii-1)],... 
			'Value',tr_code129(ii),...
			'CallBack','uprule1');
	end
	distot(tr_code129,lnei);

% Outer-totalistic rule
elseif ltot==2
	tr_hand=zeros(lnei*2,1);
	lambda=0;
	for ii=1:lnei*2
		x=x0+wx*(fix((ii-1)/lnei)+1);
		y=y0-(rem(ii-1,lnei)+1)*dy;
		if ii<lnei+1
			string1=['Self OFF Outer Total ' num2str(ii-1)];
		else
			string1=['Self ON Outer Total ' num2str(ii-1-lnei)];
		end
		tr_hand(ii)=uicontrol(fig11,'Style','checkbox',...
			'Units','normalized',...
			'Position',[x y wx dy],...
			'String',string1,... 
			'Value',otr_code129(ii),...
			'CallBack','uprule1');
		lambda=lambda+combi(lnei-1,rem(ii-1,lnei))*otr_code129(ii);
	end
	y=disout(otr_code129,lnei);
	lambda=lambda/2^(lnei);
	y=y-dy;
	uicontrol(fig11,'Style','text',...
					'String',['lambda = ' num2str(lambda)],...
					'Units','normalized',...
					'position',[x0,y,0.8,dy]);
% General rule is not available
elseif ltot==3
	error('ERROR: Use totalistic or outer totalistic rule');

end
% Determination of the parameters
%
x=x0;
y=dy;
uicontrol(fig11,'Style','push',...
		'Units','normalized',...
		'Position',[x y 0.15 dy],...
		'String','OK',...
		'CallBack',[rc1save 'close(fig11);' cleanup] );
uicontrol(fig11,'Style','push',...
		'Units','normalized',...
		'Position',[x+1/3 y 0.15 dy],...
		'String','Apply',...
		'CallBack',[rc1save 'close(fig11);' cleanup 'rgen129;']);
uicontrol(fig11,'Style','push',...
		'Units','normalized',...
		'Position',[x+2/3 y 0.15 dy],...
		'String','RUN',...
		'CallBack',[rc1save 'close(fig11);' cleanup 'figure(1); runeco1;'] );

⌨️ 快捷键说明

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