| ²é¿´: 1332 | »Ø¸´: 0 | ||
wangyongjian½ð³æ (³õÈëÎÄ̳)
|
[ÇóÖú]
MATLABÉúÃüµÄÓÎÏ·´úÂëÇóÖú
|
|
¸÷λ´óÏÀ£¬ÎÒ¸Õ¸Õ½Ó´¥MATLAB£¬×Ô¼º¿´ÁËÒ»ÏÂÉúÃüµÄÓÎÏ·µÄ´úÂë¡£Óм¸¸öÀ§»ó»¹Çë´óÏÀÃǸø½â´ðһϣ¬Ð»¹ýÁË¡£ Ê×ÏÈ£¬ %set a few cells to one cells(n/2,.25*n:.75*n) = 1; cells(.25*n:.75*n,n/2) = 1; cells = (rand(n,n))<.5 ; %how long for each case to stability or simple oscillators ¸ù¾ÝÉÏÃæµÄ´úÂë¿ÉÒÔÖªµÀ£¬cells(n/2,.25*n:.75*n) = 1;cells(.25*n:.75*n,n/2) = 1ÊǸøcells¾ØÕó¸³Öµ£¬µ«ÊÇÎÒ¾õµÃcells = (rand(n,n))<.5 ¾ÍÒѾ¿ÉÒÔÍê³ÉÈÎÎñÁË£¬¶øÇÒ¼ÓÉÏcells = (rand(n,n))<.5 ÕâÒ»¾äºó£¬cells(n/2,.25*n:.75*n) = 1;cells(.25*n:.75*n,n/2) = 1µÄЧ¹ûÒ²ÌåÏÖ²»³öÀ´°¡£¿ÁíÍ⣬cells = (rand(n,n))<.5 ÎÒ¾õµÃ¾ÍÖ»Óи³Öµ¹¦ÄÜ£¬µ«ÊÇ¿´×¢ÊͺÃÏñ»¹ÓÐ×÷ΪÆÀÅбê×¼µÄÒâ˼£¨%how long for each case to stability or simple oscillators£©£¿ µÚ¶þ£¬%nearest neighbor sum sum(x,y) = cells(x,y-1) + cells(x,y+1) +cells(x-1, y) + cells(x+1,y) + cells(x-1,y-1) + cells(x-1,y+1) +cells(3:n,y-1) + cells(x+1,y+1); Õâ¸öÊǼÆËãÒ»¸ö·½¸ñÖÜΧ½üÁڵĸöÊý£¬ cells(3:n,y-1)ÊÇʲôÒâ˼£¬¿´µ½ºÜ¶à¼ÆËã½üÁڵĴúÂë¶¼ÊÇÕâÑùдµÄ£¬ÎÒ¾õµÃÓ¦¸ÃÊÇ cells(x+1,y-1)°¡¡£ µÚÈý£¬ % The CA rule cells = (sum==3) | (sum==2 & cells)¡£ Õâ¾ä¾Í²»Ã÷°×ÁË£¬ÎÒ¾õµÃÓ¦¸ÃÊÇcells£¨x£¬y£© = (sum£¨x£¬y£©==3) | (sum£¨x£¬y£©==2 & cells)¡£¡££¿ ÍêÕû´úÂëÈçÏ %Conway's life with GUI clf clear all %============================================= %build the GUI %define the plot button plotbutton=uicontrol('style','pushbutton',... 'string','Run', ... 'fontsize',12, ... 'position',[100,400,50,20], ... 'callback', 'run=1;'); %define the stop button erasebutton=uicontrol('style','pushbutton',... 'string','Stop', ... 'fontsize',12, ... 'position',[200,400,50,20], ... 'callback','freeze=1;'); %define the Quit button quitbutton=uicontrol('style','pushbutton',... 'string','Quit', ... 'fontsize',12, ... 'position',[300,400,50,20], ... 'callback','stop=1;close;'); number = uicontrol('style','text', ... 'string','1', ... 'fontsize',12, ... 'position',[20,400,50,20]); %============================================= %CA setup n=128; %initialize the arrays z = zeros(n,n); cells = z; sum = z; %set a few cells to one cells(n/2,.25*n:.75*n) = 1; cells(.25*n:.75*n,n/2) = 1; %cells(.5*n-1,.5*n-1)=1; %cells(.5*n-2,.5*n-2)=1; %cells(.5*n-3,.5*n-3)=1; cells = (rand(n,n))<.5 ; %how long for each case to stability or simple oscillators %build an image and display it imh = image(cat(3,cells,z,z)); set(imh, 'erasemode', 'none') axis equal axis tight %index definition for cell update x = 2:n-1; y = 2:n-1; %Main event loop stop= 0; %wait for a quit button push run = 0; %wait for a draw freeze = 0; %wait for a freeze while (stop==0) if (run==1) %nearest neighbor sum sum(x,y) = cells(x,y-1) + cells(x,y+1) + ... cells(x-1, y) + cells(x+1,y) + ... cells(x-1,y-1) + cells(x-1,y+1) + ... cells(3:n,y-1) + cells(x+1,y+1); % The CA rule cells = (sum==3) | (sum==2 & cells); %draw the new image set(imh, 'cdata', cat(3,cells,z,z) ) %update the step number diaplay stepnumber = 1 + str2num(get(number,'string')); set(number,'string',num2str(stepnumber)) end if (freeze==1) run = 0; freeze = 0; end drawnow %need this in the loop for controls to work end |
» ²ÂÄãϲ»¶
Ò»Ö¾Ô¸±±½»´ó²ÄÁϹ¤³Ì×Ü·Ö358Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
312Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
²ÄÁÏ334Çóµ÷¼Á
ÒѾÓÐ19È˻ظ´
ÉúÎïÓëÒ½Ò©273Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
301Çóµ÷¼Á
ÒѾÓÐ10È˻ظ´
ר˶0854³õÊÔ¿¼²Ä¿Æ»ù£¬Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
0703»¯Ñ§
ÒѾÓÐ15È˻ظ´
0703µ÷¼Á£¬Ò»Ö¾Ô¸Ìì½ò´óѧ319·Ö
ÒѾÓÐ9È˻ظ´
085600²ÄÁÏÓ뻯¹¤301·ÖÇóµ÷¼ÁԺУ
ÒѾÓÐ10È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´

ÕÒµ½Ò»Ð©Ïà¹ØµÄ¾«»ªÌû×Ó£¬Ï£ÍûÓÐÓÃŶ~
CÓïÑÔСÓÎÏ·Ô´´úÂë
ÒѾÓÐ86È˻ظ´
Çó´óÉñ½ÌMATLAB ÉúÃüÓÎÏ·´úÂëÔõôд
ÒѾÓÐ3È˻ظ´
matlabÇóÖú£¿£¿£¿
ÒѾÓÐ6È˻ظ´
Çó½âÏ¡Êè±íʾϵÊýµÄmatlab´úÂë
ÒѾÓÐ1È˻ظ´
MATLAB GUI ÇóÖú
ÒѾÓÐ3È˻ظ´
MATLABͼÏñ´¦ÀíÇóÖú
ÒѾÓÐ5È˻ظ´
ÇóÖúMATLAB»Í¼£¬¶þάÇúÏߣ¬×ÜÊdzö´í£¬ÇóÖú¸ßÊÖ
ÒѾÓÐ3È˻ظ´
matlabͼÏñÏà¹ØÐÔ·ÖÎöµÄÇóÖú
ÒѾÓÐ20È˻ظ´
matlabÖлa=1.96Ö±ÏßÏßÇóÖú
ÒѾÓÐ10È˻ظ´
matlab¼ÆËãÃæ»ýÇóÖú£¡£¡ÄÑ
ÒѾÓÐ8È˻ظ´
matlabÇó½âɫɢ·½³Ì£¬ÇóÖú
ÒѾÓÐ12È˻ظ´
matlab»Í¼ÇóÖú
ÒѾÓÐ11È˻ظ´
ÇóÖú matlab½»µãÎÊÌâ
ÒѾÓÐ19È˻ظ´
matlab »ý·ÖÇóÖú
ÒѾÓÐ8È˻ظ´
matlab ÎÊÌâÇóÖú£¬ÊÇ·ñ¼ÆËã½á¹û´íÎó£¬ÈçºÎ¸ÄÕý£¿
ÒѾÓÐ3È˻ظ´
matlab ÆøÅݱßÔµÌáÈ¡ ÇóÖú¸ßÊÖ£¡£¡
ÒѾÓÐ5È˻ظ´
¡¾·ÖÏí¡¿µçÁ¦µç×ÓÓ¦Óü¼ÊõµÄMATLAB·ÂÕæ
ÒѾÓÐ40È˻ظ´
¡¾ÇóÖú¡¿Çë¸÷λ¸ßÊÖ¸æËßÎÒ£ºÕâÖÖÏë·¨Äܲ»ÄÜÓÃmatlabʵÏÖ£¿200½ð±ÒÇóÖú
ÒѾÓÐ16È˻ظ´
¡¾ÇóÖú¡¿Matlab ²ÎÊý¶¨Òå ÇóÖú
ÒѾÓÐ5È˻ظ´
¡¾ÇóÖú¡¿WeickertµÄ¸÷ÏòÒìÐÔÀ©É¢·½³ÌµÄÂ˲¨·½·¨µÄmatlab³ÌÐò´úÂë
ÒѾÓÐ8È˻ظ´
¿ÆÑдÓСľ³æ¿ªÊ¼£¬ÈËÈËΪÎÒ£¬ÎÒΪÈËÈË














»Ø¸´´ËÂ¥
µã»÷ÕâÀïËÑË÷¸ü¶àÏà¹Ø×ÊÔ´
10