matlab 干涉图仿真

目录

  • 一、算法概述
    • 1、干涉图
    • 2、生成步骤
  • 二、代码实现
  • 三、结果展示

在这里插入图片描述

本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。

一、算法概述

1、干涉图

  干涉图是两束或多束相干光波相遇时,它们的振幅相互叠加形成的新光场图形。干涉现象揭示了光的波动性,可以用来检测表面平整度、测量波长、研究光的传播特性等。干涉图是通过测量光波的相位差来研究物理现象的一种工具。

2、生成步骤

  • 创建光波模型: 模拟两束或更多相干光波。这可以通过生成随机相位的复数向量来实现,代表每个波的振幅和相位。
  • 计算干涉: 将这些波的复数向量相加,然后取模平方,得到的值代表了干涉强度,即最终干涉图的灰度值。
  • 绘图: 使用MATLAB的imagescpcolor函数绘制二维干涉图,其中x轴和y轴代表空间位置,z轴(颜色)代表干涉强度。

二、代码实现

clc;
clear;%% ------------------------创建波长和采样点--------------------------------
wavelength = 500; % 波长(纳米)
nx = 256; % 图像大小
ny = 256; % 图像大小
dx = 100/wavelength; % 采样间隔(单位:波长)
dy = 100/wavelength; % 采样间隔(单位:波长)%% -------------------------创建相位差-------------------------------------
phi1 = randn(1, ny); % 第一束波的相位
phi2 = phi1 + pi;    % 假设第二束波与第一束相差π%% --------------------------计算干涉--------------------------------------
intensity = abs(sqrt(phi1) + sqrt(phi2)).^2;%% -------------------------绘制干涉图-------------------------------------
imagesc(0:dx:(nx-1)*dx, 0:dy:(ny-1)*dy, intensity);
colorbar;
xlabel('X (λ)');
ylabel('Y (λ)');
title('Interference Pattern(干涉图)');

三、结果展示

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40403.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【软件测试】Selenium自动化测试框架 | 相关介绍 | Selenium + Java环境搭建 | 常用API的使用

文章目录 自动化测试一、selenium1.相关介绍1.Selenium IDE2.Webdriverwebdriver的工作原理: 3.selenium Grid 2.Selenium Java环境搭建3.常用API的使用1.定位元素2.操作测试对象3.添加等待4.打印信息5.浏览器的操作6.键盘事件7.鼠标事件8.定位一组元素9.多层框架定…

[笔记] 卷积03 - 运算的对称性 时域构建高通滤波器的失败尝试

1.卷积运算具备足够好的对称性 1.在计算卷积时,两个函数的位置是可以颠倒的,对吧? 在卷积运算中,确实可以对参与卷积的两个函数进行颠倒。这是因为卷积的定义是通过一个函数与另一个函数的翻转后的形式进行积分运算。具体来说&a…

DPDK概述

文章目录 1. DPDK概述1.1 DPDK 内存管理Mbuf单帧结构:1.2 DPDK内核驱动 igb_uio驱动1.3 DPDK源码下载方式1.4 pktgen源码下载方式1.5 DPDK相关名词解释 1. DPDK概述 Intel DPDK全称Intel Data Plane Development Kit,是Intel提供的数据平面开发工具集,为…

第十三章 Nest Middleware

在上一章我们了解到Nest 并不直接依赖Express 可以切换到别的http 请求处理库 创建项目: nest new middleware-test -p npm创建 middleware : nest g middleware test --no-spec --flat这时候可以看到 req 和 res 的类型都是为 any类型 所以并不知道使…

算法力扣刷题记录 二十八【225. 用队列实现栈】

前言 栈和队列篇。 记录 二十八【225. 用队列实现栈】 一、题目阅读 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void p…

实验四 SQL的数据定义语句

题目 通过SQL语句创建名为ecommerce1的数据库:CREATE DATABASE ecommerce1 2、在数据库ecommerce1中练习模式的创建和删除语句(如给用户li创建一个学生管理模式“S-T”)(需要先添加一个用户li) 3、在数据库ecommerce1中…

7月4号直播预告 | 全国产EtherCAT运动控制器ZMC432HG及其EtherCAT总线使用

EtherCAT运动控制边缘控制器是工业互联网的关键组件之一,结合丰富的运动控制功能、实时数据采集、处理和本地计算等,具备高度灵活的可编程性和出色的运动控制性能,为运动控制协同工业互联网应用带来巨大市场潜力,同时也使其成为企…

ID3算法决策树

步骤: 先计算出信息量;信息熵;信息增量; 再比较信息增量的大小,确定分类依据。 信息量: 信息熵: 信息增益:

Postman使用教程

传统接口风格 RESTful风格 使用Postman完成测试用例目标: Postman教程 (1)准备工作,下载Postman新建 (2)登录接口调试-获取验证码 (3)登录接口调试-登录 (4)…

Mysql查询IFNULL和想象的不一样

select sum(ifnull(a,0)) aaa,ifnull(sum(a),0) bbb from (select g.goodsid a from goods g where g.goodsid 601 ) tmp #注意 goodsid 601 的不存在 ​​​ 返回的结果和想象中不同,解释如下 在您SQL查询中,创建了一个子查询(别名为tmp&a…

Linux_管道通信

目录 一、匿名管道 1、介绍进程间通信 2、理解管道 3、管道通信 4、用户角度看匿名管道 5、内核角度看匿名管道 6、代码实现匿名管道 6.1 创建子进程 6.2 实现通信 7、匿名管道阻塞情况 8、匿名管道的读写原子性 二、命名管道 1、命名管道 1.1 命名管道通信 …

国内外大模型集合

为了满足日益增长的AI需求,我们精心打造了一站式大模型导航网站,旨在成为连接您与全球顶尖人工智能模型的桥梁。无论您是科研工作者、开发者还是对AI充满好奇的探索者,这里都有您所需。 国内大模型精选 通义千问 —— 阿里巴巴集团倾力打造…

某业帮六月校招后端笔试

题目一 解题思路 签到题,dp就行。 题目二 解题思路 这个比较烦人,需要处理额外的引号和括号。用DFS,对于每个间隙,插入与不插入都搜一遍。 题目三 解题思路: 双指针,左右各一个指针,对比长度&…

OpenLCA、GREET、R语言的生命周期评价方法、模型构建

原文链接:OpenLCA、GREET、R语言的生命周期评价方法、模型构建教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247608240&idx6&sn1b5758206d500399fe7cc69e800f61fe&chksmfa826657cdf5ef413d31557941a1c5db5cc84bba8d0f408c469e05a4118c…

#LinuxC高级 笔记一

linux命令 什么是嵌入式? 以应用为中心,以计算机技术为基础,软件硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统 计算机系统组成? 硬件、软件 操作系统? ios windows harmo…

k8s_集群搭建_k8s管理前端_dashboard安装部署---分布式云原生部署架构搭建017

然后再去安装一下一个dashboard,有了这个以后,操作k8s集群就不用 一直敲命令了 可以看到上面的命令拿过来,然后 执行就可以了 然后如果执行慢,可以直接先去下载,使用wget,然后再去 也可以在浏览器访问,把内容拿到,然后 下面是内容: # Copyright 2017 The Kubernetes Author…

登 Cell 子刊!清华大学张强锋课题组开发 SPACE 算法,组织模块发现能力领先同类工具

多细胞生物中的细胞尽管共享相同的基因组,但因其内部基因调控网络的差异以及与周围微环境中相邻细胞的外部信号交流,使得它们在形态、基因表达和功能上展现出显著的多样性。为了将细胞类型信息与其在组织内的空间位置相关联,空间转录组学 (Sp…

Vue86-Vuex中的getters属性

一、getters的使用 1-1、index.js中getters的书写 计算属性computed靠return获得返回值! 1-2、组件中getters的调用 state是数据源,getters是拿着数据源里的东西进行一番加工。像极了:data和computed 二、小结

vue 启动项目报错Syntax Error: Error: PostCSS received undefined instead of CSS string

启动vue项目然后报错如下图 这个是跟node版本有关系 因为要开发不同的项目使用不同的node版本,所以就用nvm切换,所以导致了node-sass编译问题 执行这个命令就可以 npm install node-sass or npm rebuild node-sass node-sass对于node高版本和低版本切…

智能胎教仪,科技与教育的融合-N9301胎教仪语音方案

随着科学技术的不断进步,人们对婴幼儿教育的认知也日趋成熟和全面。其中,胎教作为一种重要的早期教育方式,近年来备受瞩目。而胎教仪语音芯片的研发,正是为了满足这一需求,为胎儿的健康成长提供更加便捷的胎教方案。 一…