当前位置 : 主页 > 编程语言 > python >

【光学】干涉衍射仿真含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 本文基于光的衍射和干涉理论,通过MATLAB软件编程对单缝衍射、等倾干涉、等厚干涉、圆孔衍射、距孔衍射和单缝衍射进行了计算机仿真,这为光学的理论分析与实验教学提供了方

1 简介

本文基于光的衍射和干涉理论,通过MATLAB软件编程对单缝衍射、等倾干涉、等厚干涉、圆孔衍射、距孔衍射和单缝衍射进行了计算机仿真,这为光学的理论分析与实验教学提供了方便,并为相关课件设计提供了新的途径.

2 部分代码

%双缝干涉可改D或f和间距
%等倾干涉可改厚度和角度
%等厚干涉可改波长
%衍射的焦距是公共的
%距孔衍射是以长为基的正方孔
% HUAS 201611030117
function varargout = GS_YS(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @GS_YS_OpeningFcn, ...
'gui_OutputFcn', @GS_YS_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before GS_YS is made visible.
function GS_YS_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = GS_YS_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% --- Executes on button press in pushbutton1_ShF.
function pushbutton1_ShF_Callback(hObject, eventdata, handles)
lambda=632e-9;
% d=0.002; %双缝间距d
d=str2num(get(handles.ShF_jianju,'string'));
D=str2num(get(handles.D_or_f,'string')); %
ymax=0.035;
xs=ymax;
ny=101;
ys=linspace(-ymax,ymax,ny);
for i=1:ny
L1=sqrt((ys(i)-d/2).^2+D/2);
L2=sqrt((ys(i)+d/2).^2+D/2);
phi=2*pi*(L1-L2)/lambda;
% b(i,:)=4*cos(phi/2).^2; %每个元素的平方,
b(i,:)=4*cos(phi/2)^2; %整体的平方
end
figure(gcf);
nclevels=255;
br=(b/4.014)*nclevels;
% subplot(1,2,1)
% title('双缝干涉');
figure(1);
image(xs,ys,br);
colormap(gray(nclevels));
% subplot(1,2,2)
% plot(b(:),ys)
% --- Executes on button press in pushbutton2_DQ.
function pushbutton2_DQ_Callback(hObject, eventdata, handles)
f=0.2;

3 仿真结果

【光学】干涉衍射仿真含Matlab源码_参考文献

【光学】干涉衍射仿真含Matlab源码_无人机_02

【光学】干涉衍射仿真含Matlab源码_参考文献_03

【光学】干涉衍射仿真含Matlab源码_图像处理_04

【光学】干涉衍射仿真含Matlab源码_图像处理_05

【光学】干涉衍射仿真含Matlab源码_图像处理_06

4 参考文献


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

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


【光学】干涉衍射仿真含Matlab源码_参考文献_07



上一篇:Python中那些让人望而退步的花式打印
下一篇:没有了
网友评论