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

📄 rgen127.m

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

fig11=figure(11);

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

% Title
x=x0;
y=y0;
uicontrol(fig11,'Style','text','String','Rule Generator for 1 dimension K=2 N=7',...
		'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_code127(ii),...
			'CallBack','uprule1');
	end
	distot(tr_code127,lnei);

% Outer-totalistic rule
elseif ltot==2
	lambda=0;
	tr_hand=zeros(lnei*2,1);
	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_code127(ii),...
			'CallBack','uprule1');
		lambda=lambda+combi(lnei-1,rem(ii-1,lnei))*otr_code127(ii);
	end
	y=disout(otr_code127,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
elseif ltot==3
	r_hand=zeros(lns^lnei,1);
	for ii=1:lns^lnei
		x=x0+wx2*fix((ii-1)/16);
		y=y0-(rem(ii-1,16)+1)*dy;
		r_hand(ii)=uicontrol(fig11,'Style','checkbox',...
			'Units','normalized',...
			'Position',[x y wx2 dy],...
			'String',decode(ii,lns,lnei),... 
			'Value',r_code127(ii),...
			'CallBack','uprule1');
	end

end
% Determination of the parameters
%
x=0.1;
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 'rgen127;']);
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 + -