资源简介

总共有9个光学实验用Matlab进行仿真,如有雷同,纯属巧合。希望大家喜欢Matlab或者光学的,可以好好看看这个资源。 实验的题目分别为:单缝衍射,光栅衍射,矩孔衍射,朗伯余弦体,迈克尔逊干涉,牛顿环,杨氏双缝干涉,圆孔衍射,正选光栅。

资源截图

代码片段和文件信息

clear;
lam=500e-9;%设定波长,以lam表示
N=2;%设置缝的个数
a=2e-4;%设定缝宽
D=5;%设定缝到屏的距离
b=5*a;%设定两个缝之间的间隔
ym=2*lam*D/a;%设定y方向的范围
xs=ym;%设定x方向的范围
n=1001;
ys=linspace(-ymymn);%用线性采样法产生一个一维数组ys,n是此次采样的总点数
                      %采样的范围从-ym到ym,采样的数组命名为ys
                      %次数组装的是屏幕上的采样点的纵坐标
for i=1:n %对屏幕上的全部点进行循环计算,则要进行n次计算  
    sinphi=ys(i)/D;%利用光栅衍射的理论公式计算衍射角的正弦值
    alpha=pi*a*sinphi/lam;%利用光栅衍射的理论公式分别计算单缝衍射因子和
    beta=pi*b*sinphi/lam;%缝间干涉因子
    B(i:)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^2;%计算每一点的光强
    B1=B/max(B);%计算相对光强
end%结束循环
NC=255;%确定使用的灰度等级为255级
Br=(B/max(B))*NC;%定标使最大光强对应于最大的灰度级(白色)
subplot(121)      %用subplot创建和控制多坐标轴,subplot(1,2,1)表示把单前
                    %窗口对象分成1*2块矩形区域并在第一块区域创建一个新的坐标轴
                    %这个新的坐标轴设定为当前坐标轴
image(xsysBr);     %然后用image绘图函数创建图像
colormap(gray(NC));%用灰度级颜色图设置图和明暗
subplot(122)      %画出沿y向的光强变化曲线,先用subpot函数创建和控制多坐标轴
                    %把窗口对象分成1*2块矩形区域并在第2块区域创建一个新的坐标轴
                    %把这个坐标轴设定成当前的坐标轴
plot(B1ys);         %然后绘制以(B1ys)为坐标轴相连的折线

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        643  2011-01-08 20:14  牛顿环.m

     文件       1695  2011-01-08 20:14  杨氏双缝干涉.m

     文件       1347  2011-01-08 20:14  圆孔衍射.m

     文件        360  2011-01-08 20:14  正弦光栅.m

     文件        924  2011-01-08 20:14  单缝衍射.m

     文件       1437  2011-01-08 20:14  光栅衍射.m

     文件        993  2011-01-08 20:14  矩孔衍射.m

     文件        581  2011-01-08 20:14  朗伯余弦体.m

     文件        516  2011-01-08 20:14  迈克尔逊干涉.m

----------- ---------  ---------- -----  ----

                 8496                    9


评论

共有 条评论