基于matlab的光学干涉仿真,迈克尔逊干涉仪研究光的干涉 实验原理
1绪论基于光的干涉理论,分析了迈克尔逊干涉实验的原理和光程差的表达式,通过改变Matlab的参数,对迈克尔逊干涉实验现象进行了二维和三维的模拟。通过仿真,提供了更加直观清晰的实验图像,对迈克尔逊干涉仪的实验教学起到了很好的补充作用。
2模拟代码%
% script用于绘制迈克尔逊等倾干涉光路图和干涉图像;
%
%%预绘图处理
清除%清除变量
clc%清空历史窗口的内容。
全部关闭;%关闭所有图形窗口。
%%图像绘制
r _ max=1;%最大半径(相对坐标)
[h1,h2,hT,R]=迈克尔逊_ Draw _ 1(R _ max);%绘制第一帧图像并获取句柄。
theta _ I=atan(R);%夹角
%暂停%暂停
对于d=-5:0.05:5
e=2 * d;
DD=2 * e * cos(theta _ I);%光程差
I=cos(pi*DD)。^2./(1 r.^2);%相对光强度
set(h1, YData ,[20d 20d]);“%M1”位置
set(hT,位置,[10 20d 0]);“%M1”文本标签
Set(h2, CData ,100*I)%设置灯光强度。
Drawnow%更新屏幕
if get(gcf, CurrentCharacter)==char(27)
打破,
End%按ESC退出。
将%%另存为gif文件:
gif name= Michel son _ Draw _ 1 . gif ;%创建一个gif文件
Drawnow%图像实时更新。
frame=get frame(1);%获取当前图像作为电影帧。
im=frame2im(帧);%返回与电影帧相关的图像数据。
[imid,cm]=rgb2ind(im,500);%格式转换
如果d==-5
im write(imid,cm,gifname, gif );%创建一个gif文件
其他
im write(imid,cm,gifname, gif , WriteMode , append , DelayTime ,0.01);
%向gif文件添加图片
结束%结束周期
目标
3运行结果
4参考文献[1]邹志兴,胡卫东,王梓涵,等.基于MATLAB的迈克尔逊干涉仪干涉视频处理[J].西南师范大学学报:自然科学版,2019,44(7):5。
[2]冯明春,王玉洁。基于Matlab的迈克尔逊干涉实验仿真分析与研究[J].大学物理实验,2021。
博主:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等领域的Matlab仿真。相关的matlab代码问题可以私信交流。有些理论引用自网络文献。如有侵权,联系博主删除。
原创作品来自matlab研究助手,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。