一个简单的程序求分析
clc
clear
b=0.1;
sum=0;
N=input('请输入N的值:');
for i=1:N
x=2.0;
y=0.0;
r=sqrt(x*x+y*y);
while(r>1&&r<3)
deg = rand(1);
if(deg<0.25)
x=x+b;
elseif(deg<0.5)
x=x-b;
elseif(deg<0.75)
y=y+b;
else
y=y-b;
end
r=sqrt(x*x+y*y);
if(r<=1)
sum=sum+4;break;
end
if(r>=3)
sum=sum+6;break;
end
end
end
我对程序基本不太懂,论文里有个小程序,前半部分能看懂,后半部分不太明白。
返回小木虫查看更多
今日热帖
自己顶一顶
clc
clear
b=0.1;
sum=0;
N=input('请输入N的值:');
for i=1:N
x=2.0;
y=0.0; %% 赋初始值
r=sqrt(x*x+y*y);
while(r>1&&r<3)
deg = rand(1); %%生成 0-1之间的随机数
if(deg<0.25)
x=x+b;
elseif(deg<0.5)
x=x-b;
elseif(deg<0.75)
y=y+b;
else
y=y-b;
end %%% 一系列判断 赋值
r=sqrt(x*x+y*y);
if(r<=1)
sum=sum+4;break; %% r<=1 输出 4
end
if(r>=3)
sum=sum+6;break; %% r>=3 输出 6
end
end %% 1<r<3 开始下一轮循环
end
这个给N赋个值 自己运行一下就知道了,
程序的目的不明确,尤其是+4.+6哪里,你的工作背景是啥呢
如果是这样,程序最后要加个sum=sum/N.i=1:N表示循环