一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【光学】基于matlab GUI干涉衍射仿真【含Matlab源码 1723期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、部分源代码

%双缝干涉可改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});
endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
elsegui_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;
lambda=500*10^(-9);
% d=input('薄膜厚度='); d=0.00004;%薄膜厚度e-5量级
% theta=input('倾斜角度='); theta=0.8;%倾斜角度0.1-1
d=str2num(get(handles.DQ_hd,'string'));%获取
theta=str2num(get(handles.DQ_jd,'string'));%倾斜角度0.1-1rMax=f*tan(theta/2);
N=501;
for i=1:N
x(i)=(i-1)*2*rMax/(N-1)-rMax;
for j=1:N
y(i)=(j-1)*2*rMax/(N-1)-rMax;
r(i,j)=sqrt(x(i)^2+y(i)^2);
delta(i,j)=2*d/sqrt(1+r(i,j)^2/f^2);
Phi(i,j)=2*pi*delta(i,j)/lambda;
B(i,j)=4*cos(Phi(i,j)/2)^2;
end
end
NCLevels=255;
Br=B/4*NCLevels;
% title('等倾干涉');
figure(2);
image(x,y,Br);
colormap(gray(NCLevels));
axis square; % --- Executes on button press in pushbutton3_DH.
function pushbutton3_DH_Callback(hObject, eventdata, handles)% lamda = 0.000632;
lamda = str2num(get(handles.lamada,'string'));
[X,Y] = meshgrid(-2:0.01:2);
for R=3200:-500:200
I=cos(pi/lamda*(X.^2+Y.^2)/(R)+pi/2);
% title('等厚干涉');
figure(3);
imshow(I)                           %将光强显示为灰度值
% pause(0.8)
end

三、运行结果




四、备注

1 matlab版本
2014a

2 参考文献
[1] 门云阁.MATLAB物理计算与可视化[M].清华大学出版社,2013.

【光学】基于matlab GUI干涉衍射仿真【含Matlab源码 1723期】相关推荐

  1. 【光学】基于matlab GUI杨氏双缝干涉【含Matlab源码 001期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI杨氏双缝干涉[含Matlab源码 001期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费 ...

  2. 【人脸识别】基于matlab GUI人数统计【含Matlab源码 2121期】

    ⛄一.人数统计简介(附课程作业报告) 1 课题背景 本课题为基于matlab的人数统计系统.近年来,很多行业对人流信息有极大的需求,如汽车公交站,地铁站台,商场出入口等.通过人数统计系统可以方便.可靠 ...

  3. 基于Matlab的空中交通管制仿真(附源码)

    目录 一.空中交通管制方案 二.机场监控雷达 三.全球导航跟踪器 四.在地图上可视化 五.模拟和跟踪客机 六.总结 七.程序 ​此示例演示如何生成空中交通管制方案,模拟来自机场监视雷达 (ASR) 的 ...

  4. 基于SSM的仓库管理系统(含完整源码+论文)

    后端框架:SSM 数据库:MySQL 开发工具:IDEA/Eclipse 系统介绍:本系统是基于SSM框架进行设计,MySQL作为底层数据库,前端采用bootstrap 模块大致介绍:包括库存管理.出 ...

  5. 【运动学】基于最小半径实现泊车仿真含Matlab源码

    1 简介 ​近年来,智能化的自动泊车技术不断发展.文章针对自动平行泊车轨迹曲率过大,曲率不连续和泊车起始位置,车身姿态要求较为苛刻等问题,提出了最小半径自动平行泊车方法. 2 部分代码 functio ...

  6. 【条形码识别】基于matlab GUI二维条形码识别【含Matlab源码 607期】

    ⛄一.二维条形码识别简介 采用数字图像处理技术对二维条码进行识别, 是二维条形码识别中较常用的方法, 它在处理污损的条形码方面有光电识别方法无法比拟的优势.另外图像式识别方法对识别角度的要求没有光电识 ...

  7. 【数字信号】基于DTMF双音多频电话拨号仿真含Matlab源码

    1 简介 DTMF信号是音频电话中的拨号信号,本文介绍了基于MATLAB的DTMF信号产生与检测的流程,重点分析了DTMF信号检测中的戈泽尔算法原理及参数选择.​ 2 部分代码 t1='123A';t ...

  8. 【心电信号】基于matlab GUI心电信号预处理【含Matlab源码 938期】

    ⛄一.心电信号预处理方法简介 理论知识参考文献:心电信号预处理方法研究 ⛄二.部分源代码 function varargout = kaishi(varargin) gui_Singleton = 1 ...

  9. matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...

    一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...

  10. 【光学】基于matlab GUI双孔干涉【含Matlab源码 2119期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI双孔干涉[含Matlab源码 2119期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费 ...

最新文章

  1. C++赋值运算符与赋值表达式
  2. 设计模式 - 迭代器模式(iterator pattern) 具体解释
  3. OpenERP 源码安装一招鲜
  4. VTK:Points之MaskPointsFilter
  5. Dubbo + Zookeeper入门初探
  6. 封头名义厚度如何圆整_压力容器封头厚度计算
  7. find命令过滤 no such_运维老手常用的linux命令操作
  8. springboot 多线程_redis官方推荐:SpringBoot用这个,一键多线程
  9. dls的BM算法模板(线性递推问题,解决矩阵快速幂解决不了的问题)
  10. excel vba 快速显示及隐藏所选数据行,并获取多重选择区地址的行列号
  11. ASP.NET Core 2.0和Angular 4:从头开始构建用于车辆管理的Web应用程序
  12. Microsoft MVC Preview 2 ActionFilterAttribute实际开发中的应用
  13. WPF XMAL获取元素的父元素,子元素
  14. SceneCAD: Predicting Object Alignmentsand Layouts in RGB-D Scans
  15. 求助!ENDnoteX8+Word2016可关联,但总提示【该文档有宏】等bug
  16. matlab双线性插值双三次插值对CUFED5进行处理
  17. word公式常用字体
  18. 【PyG】简介 - 图神经网络
  19. 简单粗暴理解【阿姆达尔定律】
  20. 苹果手机软件闪退怎么解决_LOL手游卡顿闪退怎么办-卡顿闪退解决方法解析

热门文章

  1. centos 时间服务器ntp
  2. Spring Boot 学习笔记(一)
  3. 神经网络 demo(斯坦福)
  4. DFS ZOJ 1002/HDOJ 1045 Fire Net
  5. 十一、观察者模式(Observable、Observer)
  6. 全触摸模式,让你尽享ipad 开发出的精品
  7. latex 引用文献cite, citet,citep的区别
  8. Pycharm初识JS
  9. 黑马程序员 Python学习笔记之多文件项目的演练
  10. Atitit 第三方登录与sso单点登录 单点登录:       我们的单点登录系统,主要包含了登录验证,token校验 、注销、注册几大功能,单点登录系统提供了统一的登录和注册页面,提供了统一的