Matlab在光学中的应用举例 (二)(光栅)

运用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的可以试试,本人亲自验证过了的!

请使用浏览器的分享功能分享到微信等