运用Matlab画出光栅的衍射光强分布。
采取国际单位制,并赋给公式中的各个物理量合理的数值,仿照双缝干涉的示例,编写Matlab程序如下:
a=0.01e-3;b=0.04e-3;d=a+b;D=1; N=8; %为光栅各个参数赋值
lamda=600e-9; %光的波长
x=-0.2:0.0003:0.2;y=-1:0.03:1; %屏上观察平面的大小
[X,Y]=meshgrid(x,y); %组成数据网格
sinsita=X./(D^2+X.^2).^0.5; %计算sin(θ)
arfa=pi*a*sinsita./lamda; %计算α
beita=pi*d*sinsita./lamda; %计算β
I=(sin(arfa).^2./(arfa.^2)).*(sin(N.*beita).^2./(sin(beita).^2)); %相对光强分布
figure; %开辟图形窗口
plot(x,I); %画光强与观察点位置关系图
figure;view(0,90); %新开图形窗口并在xy 平面内观察
hold on
colormap(gray); %选择灰度色图
mesh(X,Y,I); %绘制衍射图样
用Matlab的可以试试,本人亲自验证过了的!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29517383/viewspace-1376620/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29517383/viewspace-1376620/