【光学】基于Matlab模拟干涉条纹图

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

为了提高光学课程教学效果,采用Matlab编程对光学现象进行模拟仿真.文中以等倾干涉为例,实现了对其干涉条纹和光强分布的模拟演示,实验结果表明:该方法直观形象地展示了光学过程,有利于学生更好地理解相关物理概念,为教学内容和教学手段提供了一条新思路.

⛄ 完整代码

%zernike

clear;

clc;

close all;

[x,y]=meshgrid(-1:0.01:1);

k=36;%多项式项数

Z=cell(1,36);

Z{1,1}=x;

Z{1,2}=y;

Z{1,3}=-1+2*(x.^2+y.^2);

Z{1,4}=x.^2-y.^2;

Z{1,5}=2*x.*y;

Z{1,6}=-2*y+3*x.*(x.^2+y.^2);

Z{1,7}=-2*y+3*y.*(x.^2+y.^2);

Z{1,8}=1-6*(x.^2+y.^2)+6*(x.^2+y.^2).^2;

Z{1,9}=x.^3-3*x.*y.^2;

Z{1,10}=3*x.^2.*y-y.^3;

Z{1,11}=-3*x.^2+3*y.^2+4*x.^4-4*y.^4;

Z{1,12}=-6*x.*y+8*x.*y*(x.^2+y.^2);

Z{1,13}=(10*(x.^2+y.^2).^2-12*(x.^2+y.^2)+3).*x;

Z{1,14}=(10*(x.^2+y.^2).^2-12*(x.^2+y.^2)+3).*y;

Z{1,15}=20*(x.^2+y.^2).^3-30*(x.^2+y.^2).^2+12*(x.^2+y.^2)-1;

Z{1,16}=x.^4-6*x.^2.*y.^2+y.^4;

Z{1,17}=4*x.^3.*y-4*x.*y.^3;

Z{1,18}=15*(x.^2+y.^2).^2.*x+20*(x.^2+y.^2).*x.^3+12*(x.^2+y.^2).*x-16*x.^3;

Z{1,19}=(5*(x.^2+y.^2)-4).*(3*x.^2.*y-y.^3);

Z{1,20}=(15*(x.^2+y.^2).^2-20*(x.^2+y.^2)+6).*(x.^2-y.^2);

Z{1,21}=(15*(x.^2+y.^2).^2-20*(x.^2+y.^2)+6).*(2*x.*y);

Z{1,22}=(35*(x.^2+y.^2).^3-60*(x.^2+y.^2).^2+30*(x.^2+y.^2)-4).*x;

Z{1,23}=(35*(x.^2+y.^2).^3-60*(x.^2+y.^2).^2+30*(x.^2+y.^2)-4).*y;

Z{1,24}=70*(x.^2+y.^2).^4-140*(x.^2+y.^2).^3+90*(x.^2+y.^2).^2-20*(x.^2+y.^2)+1;

Z{1,25}=5*x*(x.^2+y.^2).^2-20*x.^3.*(x.^2+y.^2)+16*x.^5;

Z{1,26}=-6*(x.^2+y.^2).*x.^2.*y+14*x.^4.*y-3*x.^2.*y.*(x.^2+y.^2)-2*x.^2.*y.^3+(x.^2+y.^2).*y.^3;

Z{1,27}=(6*(x.^2+y.^2)-5).*((x.^2+y.^2).^2-8*(x.^2+y.^2).*x.^2+8*x.^4);

Z{1,28}=(6*(x.^2+y.^2)-5).*(4*x.^3.*y-4*x.*y.^3);

Z{1,29}=(21*(x.^2+y.^2).^2-30.*(x.^2+y.^2)+10).*(-3*x*(x.^2+y.^2)+4*x.^3);

Z{1,30}=(21*(x.^2+y.^2).^2-30.*(x.^2+y.^2)+10).*(3*x.^2.*y-y.^3);

Z{1,31}=(56*(x.^2+y.^2).^3-105*(x.^2+y.^2).^2+60*(x.^2+y.^2)-10).*(x.^2-y.^2);

Z{1,32}=(56*(x.^2+y.^2).^3-105*(x.^2+y.^2).^2+60*(x.^2+y.^2)-10).*(2*x.*y);

Z{1,33}=(126*(x.^2+y.^2).^4-280*(x.^2+y.^2).^3+210*(x.^2+y.^2).^2-60*(x.^2+y.^2)+5).*x;

Z{1,34}=(126*(x.^2+y.^2).^4-280*(x.^2+y.^2).^3+210*(x.^2+y.^2).^2-60*(x.^2+y.^2)+5).*y;

Z{1,35}=252*(x.^2+y.^2).^5-630*(x.^2+y.^2).^4+560*(x.^2+y.^2).^3-210*(x.^2+y.^2).^2+30*(x.^2+y.^2)-1;

Z{1,36}=924*(x.^2+y.^2).^6-2772*(x.^2+y.^2).^5+3150*(x.^2+y.^2).^4-1680*(x.^2+y.^2).^3+420*(x.^2+y.^2).^2-42*(x.^2+y.^2)+1;

%单位圆内

mask=double((x.^2+y.^2)<=1);

for i=1:k

    Z{1,i}=Z{1,i}.*mask;

end

%显示泽尔尼克系数

for i=1:k

    subplot(6,6,i),imshow(Z{1,i},[]);

end

%a+(b-a)rand(m,n) ,[a,b]区间m,n维随机数生成

%计算相位P(x,y),ai根据论文取随机数

% 输出

num=100;%输出数量

for n=1:num

    for i=1:k %ai是泽尔尼克基函数的系数,根据论文给出的范围来定

      if i==1 %a1=0,P0=0 

        P=0;

      end

      if i==2||i==3 %ai 0,5

        P=5*rand(1)*Z{1,i}+P;

      end

      if i==4 %ai -5,5

        P=-5+10*rand(1)*Z{1,i}+P;

      end

      if i>=5&&i<=9 %ai -0.3,0.3

        P=-0.2+0.6*rand(1)*Z{1,i}+P;

      end

      if i>=10&&i<=36 %ai -0.03,0.03

        P=-0.03+0.006*rand(1)*Z{1,i}+P;

      end

    end

  P=pi*P.*mask;

  w=0.2+0.8*rand(1);%w是0.2,1上的随机数

  A0min=0.5/(1+w+2*sqrt(w));%A0范围下限

  A0max=0.95/(1+w+2*sqrt(w));%A0范围上限

  A0=A0min+(A0max-A0min)*rand(1);%生成振幅强度A0

  x0=-0.2+0.4*rand(201,201);

  y0=-0.2+0.4*rand(201,201);%x0,y0表示光点在x和y方向上的偏移,这两个方向都是在[0.2,0.2]范围内随机生成的

  derta=0.9+0.2*rand(1);%光束宽度0.9,1.1

  %激光源参考光强度

  Ir=A0*exp(-(((x-x0).^2+(y-y0).^2)/derta^2));%越靠中间(x-x0).^2+(y-y0).^2)越小,越亮

  % c=cos(P);%cos相位

  A=(w+1)*Ir;%背景光强

  B=2*sqrt(w)*Ir;%调制光强

  I=A+B.*cos(P);%条纹图

  I=I.*mask;

  name=num2str(n);

  I=imresize(I,[256,256]);

  imwrite(I,['.\fringes\',name,'.jpg']);

end

% figure(5),imshow(A,[]);

% figure(6),imshow(B,[]);

% figure(7),imshow(A+B.*cos(P),[]);

⛄ 运行结果

⛄ 参考文献

[1]杨艳丽, 郝蕴琦, 任玉芬,等. 基于MATLAB的光学干涉实验仿真[C]// 中国计算机用户协会网络应用分会2019年第二十三届网络新技术与应用年会. 0.

⛄ Matlab代码关注​

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值