一个matlab程序,请看的懂的解释

来源:百度知道 编辑:UC知道 时间:2024/06/05 02:20:30
本人底子薄,所以最好一句一句解释啊,拜托各位啦
最详细的有加分~~~
function Game_of_Life(n)
% 生命游戏
% Example:
% Game_of_Life(100);
if nargin==0;
n=100;
end
B=round(rand(n+2));
Z=B(2:end-1,2:end-1);
H=imshow(Z,[]);
set(gcf,'position',[241 132 560 420])
set(gcf,'doublebuffer','on');
xlabel('Please press "space" key and stop this program!',...
'fontsize',12,'color','r');
k=1;
title('Game of life','color','b');
while k;
s=get(gcf,'currentkey');
if strcmp(s,'space');
clc;k=0;
end
A=sumfun(B);
X=zeros(n);
X(Z==1 & (A==2 | A==3))=1;
X(Z==0 & A==3)=1;
B(2:end-1,2:end-1)=X;
Z=X;
set(H,'CData',1-X);
pause(0.5);
end
figure(gcf);
function S=sumfun(B);
% 周围8个位置的和
S=B(1:end-2,2:e

、第一行的两个冒号是什么意思?这是Matlab的语法,自己再看看任何一本关于Matlab的书吧
angle=-pi:0.01:pi;
定义一个名为angle的向量-pi为起点,0.01为增量,pi为终点
2、为什么我把pi变成1它就会报错?
你肯定是运行了一次这个程序再把pi改1运行第二次的时候出错,原因是工作空间向量dp已经预先定义了大小,这样你改了angle的大小就会使得两边向量维数不匹配,解决这个问题可以在程序最前面用一个clear或把dp(1,:)改成dp
3、“.^”加点表示对向量中的每个元素做运算,“^”不加点按线性代数的运算法则进行向量运算
多看看书,多用用Matlab的help

看不到程序啊