资源简介
激光束通过圆孔的衍射的传输程序,希望可以帮到大家 。
代码片段和文件信息
clear
%程序基本参数单位m
lamta=632.8e-9;
k=2*pi/lamta;
dx=10e-5;
dy=10e-5;
xd=512;
yd=512;
z=0.05;
c1=2;
c2=2;
[mn]=meshgrid(linspace(-xd/2xd/2-1xd)linspace(-yd/2yd/2-1yd));
dfx=1/(xd*dx);
dfy=1/(xd*dy);
I64=zeros(xdyd);
I641=zeros(xdyd);
xxd1=xd/8;
yyd1=xd/4;
r=xxd1/2;
a=xxd1;
D1=((m-a).^2+(n).^2).^(1/2);
D2=((m+a).^2+(n).^2).^(1/2);
i1=find((D1<=r|D2<=r));
I641(i1)=1;
I642=zeros(xdyd);
B1=ones(xxd1yyd1);
I642([(xd/2-xxd1/2+1):(xd/2+xxd1/2)][(yd/2-yyd1/2+1):(yd/2+yyd1/2)])=B1;
I64=I641+I642;
i2=find(I64>=1);
I64(i2)=1;
figure(1)
imagesc(I64)
colormap(gray)
axis square
axis off
%离散光波表达式
R=zeros(xdyd);
switch c1
case 1
R=exp(-j*k*((dx*m).^2+(dy*n).^2)/2*z);%球面波
case 2
%%%用平行光照射irradiated by parallel light
the
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2668 2003-12-18 19:33 raceway.m
----------- --------- ---------- ----- ----
2668 1
- 上一篇:用matlab fft信号频谱分析
- 下一篇:MATLAB五官检测代码
评论
共有 条评论