【光学】Matlab模拟透射光条纹强度分布曲线仿真

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥

📝目前更新:🌟🌟🌟智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真。

                         

                              🎉🎉欢迎您的到来🎉🎉

                ⛅⛅⛅ 📃CSDN主页:Matlab科研室🌈🌈🌈

              📚📚📚📋所有代码目录见微信公众号:天天Matlab👨💻👨💻👨💻

1 内容介绍

不同反射率下透射光条纹的强度分布曲线

由上图可以直观地看出:

1>当R较小时,透射光的相对强度从极大到极小的变化缓慢,透射光条纹的对比度很差;

2>随着R的增大,透射光暗条纹的强度降低,亮条纹的宽度变窄,条纹的对比度增大;

3>当R趋于1时,透射光暗条纹强度几乎为0,亮条纹宽度无限窄;此时可以想到,透射光的干涉图样是由在几乎全黑的背景上的一组很细的亮条纹所组成的;条纹的对比度趋于1;

2 仿真代码

%

%该脚本文件用于绘制不同反射率下透射光条纹的强度分布曲线

%

%% 绘制前处理

clc;

clear;

close all;

%% 初始数据输入

delta=(-0.26:0.01:2.26)*pi;                  %光程差及步长

[~,num]=size(delta);                         %矩阵大小

R=[0.046,0.27,0.64,0.87];                    %反射率矩阵

%% 图像绘制

figure;                                      %创建图窗

set(gcf,'position',[250 300 700 350]);       %设置画布大小

set(gcf, 'Color', 'w');                      %设置背景颜色

for i=1:4                                    %循环赋值

F=4*R(i)/(1-R(i))^2;                         %精细度系数

I_t=1./(1+F.*sin(delta./2).^2);              %透射光强度

plot(delta,I_t,'k','LineWidth',1);           %绘制图像

text(delta(num)+0.05,I_t(num)+0.05, ...

    ['\itF=',num2str(round(F*10)/10), ...

    newline,'\itR=',num2str(R(i))], ...

    'fontsize',10);                          %每条曲线的标注

hold on;                                     %图像保持

end                                          %结束循环

%% 绘制后续处理

xlim([-0.52*pi,2.52*pi]);                       %x轴范围

ylim([0,1.1]);                                  %y轴范围

xlabel('\it\delta','FontSize',13);              %x轴标注

ylabel('y=\itI^{(t)}/I^{(i)}','FontSize',13);   %y轴标注

title(['\itIntensity Distribution of ' ...      %标题

    'Transmitted Light Fringes'],'FontSize',13);

line([-0.52*pi,6.8],[1,1],'linestyle',':' ...   %y轴定标

    ,'color','k','linewidth',1);                     

line([0,0],[0,1],'linestyle',':','color', ...   %x轴定标1

    'k','linewidth',1);

line([2*pi,2*pi],[0,1],'linestyle',':', ...     %x轴定标2

    'color','k','linewidth',1);

set(gca, 'xTick', [-0.52*pi,0,2*pi]);           %x轴刻度范围

set(gca,'XTickLabel',{'0','\it2m\pi','\it2(m+1)\pi'}) %x轴刻度标注

set(gca, 'yTick', [1]);                         %y轴刻度范围

set(gca,'yTickLabel',{'1'});                    %y轴刻度标注

box off;                                        %关闭box

3 运行结果

4 参考文献

[1]葛书荣. MATLAB的光学模拟仿真探究[D]. 长安大学.​

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

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

5 往期回顾扫扫下方二维码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

matlab科研助手

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

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

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

打赏作者

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

抵扣说明:

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

余额充值