h=6.62559e-34; m=9.10908e-31;
e=1.6021e-19; U=1000;
a=2e-7; b=1e-6; D=0.25;
rd=h/sqrt(2*m*e*U);
%计算光波长rd
A=(pi*a)/(rd*D); B=pi*(a+b)/(rd*D); %计算A和B
axis([-5e-5,5e-5,-4e-5,4e-5])
%设置坐标轴标度范围
set(gca,'color',[0.122,0.012,0.62])
%设置坐标面背景颜色
i=1;
while i<=20000 %用循环结构控制光子的数目
x=5e-5*(2*rand-1); %产生5e-5至-5e-5之间均匀分布的随机数赋给x
y=4e-5*(2*rand-1); %产生4e-5至-4e-5之间均匀分布的随机数赋给y
H=(((sin(A*x))^2)/(A*x)^2)*((cos(B*x))^2); %计算H
M=rand; %产生0至1之间均匀分布的随机数赋给M
if H>=M %用分支结构选择符合条件的坐标点
hold on %保留当前坐标系中已存在的图形对象
h_point=plot(x,y,'.r','EraseMode','none','markerSize', 16); %用红颜色显示符合条件的坐标点,并赋句秉值给h_point
i=i+1;
pause(1) %暂停1秒
set(h_point,'color','w') %将当前坐标点由红颜色变为白颜色
end
end