flycircle.m

来自「一些常被用于教学或者参考的概率论的实例的源代码」· M 代码 · 共 28 行

M
28
字号
%flycircle1.m/created by PJNahin for "Duelling Idiots"(1/19/99)
%This m-file simulates the distance-squared between 100,000
%pairs of flies, landing at random in a circle with unit area.
%Random means that each fly's distance from the origin is uniform
%over a radius, and the angle of each fly's radius vector is
%uniform from 0 to 2*pi.
%
%
rand('state',100*sum(clock))
summation=0;
radius=1/sqrt(pi);
factor=2*pi;
for fly=1:100000
   r1=rand*radius;
   a1=rand*factor;
   r2=rand*radius;
   a2=rand*factor;
   x1=r1*cos(a1);
   y1=r1*sin(a1);
   x2=r2*cos(a2);
   y2=r2*sin(a2);
   distance2=(x1-x2)^2+(y1-y2)^2;
   if distance2>=1
      summation=summation+1;
   end
end
summation/100000

⌨️ 快捷键说明

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