Matlab_光学
本专栏基于Matlab工具,实现对光学理论及特性的计算、仿真等。
Dream_言十
每一天都要过得充实
展开
-
基于Jones或Stokes矩阵绘制光的偏振态图样(附加函数)
本文解决的问题:基于matlab书写了一个**单一光的偏振态绘制图样**案例,提供了基于**Jones矩阵和Stokes参数矩阵输入处理**的函数。提供技术价值:在光的矩阵运算过程,可以对光的偏振态进行调动以实时绘制并输出观察。原创 2023-02-06 18:07:09 · 1286 阅读 · 0 评论 -
Matlab:实现轴对称矢量光束聚焦
本文基于光学原理,用Matlab实现轴对称矢量光束聚焦仿真。Project Code% 作者:ZQJ% 日期:2022.3.24 星期四clear,clc,close all;func_translight = f_Lightfield_transmission;% 基本参数输入*****************************L = 1; % 拓扑荷阶数 lamda = 1550e-9;w0 = 1e-3; % 束腰半径z0原创 2022-03-24 23:35:34 · 3068 阅读 · 11 评论 -
Matlab:实现自定义圆孔阵列远场衍射仿真
本文基于光学原理,用Matlab实现自定义圆孔阵列远场衍射现象仿真。Project Code% 作者:ZQJ% 日期:2022.2.28 星期一%*********************** 自定义多圆孔阵列的远场衍射 **************************clear,clc,close all;% 系统参数设定********************** lamda = 1550e-9; % 波长N = 1000; % 一边像素数目x_l原创 2022-02-28 17:02:28 · 2256 阅读 · 10 评论 -
Matlab:实现自定义矩形孔阵列远场衍射仿真
本文基于光学原理,用Matlab实现自定义矩形孔阵列远场衍射现象仿真。Project Code% 作者:ZQJ% 日期:2022.1.21 星期五%*********************** 矩形孔阵列的远场衍射 **************************clear,clc,close all;% ********************** 系统参数设定lamda = 1550e-9; % 波长N = 500; % 一边像素数目x_len原创 2022-01-21 14:09:22 · 1835 阅读 · 5 评论 -
Matlab:仿真正弦光栅的衍射传输特性
本文基于光学原理,用Matlab实现正弦光栅的衍射传输特性仿真。正弦光栅分类:振幅型:光栅的透过率函数符合一个正弦sin函数的分布。相位型:光栅对相位的调制符合一个正弦sin函数的分布。Project Code% 作者:ZQJ% 日期:2021.11.18 星期四%**********************正弦光栅的衍射传输特性(包括振幅型和相位型)****************************%% 振幅型正弦光栅 ********clear,clc,close all原创 2021-11-18 17:12:56 · 4305 阅读 · 7 评论 -
Matlab:实现理想涡旋光束产生
本文基于光学原理,用Matlab实现理想涡旋光束产生仿真。Project Code% 作者:ZQJ% 日期:2021.7.24 星期六%***********************模拟理想的涡旋光束产生**************************% 方法:高斯光加螺旋相位传输clear,clc,close all;func_translight = f_Lightfield_transmission;% 基本参数输入*****************************L原创 2021-07-24 19:30:34 · 6165 阅读 · 26 评论 -
Matlab:实现光场传输函数
本文基于光学原理,用Matlab实现光场传输函数。以下展示了两种菲涅尔光场传输的数值计算方法:菲涅尔衍射积分的离散求和菲涅尔衍射FFT法Project Code% 作者:ZQJ% 日期:2021.7.22 星期四%***********************光场传输函数**************************function Light_transmissions = f_Lightfield_transmission Light_transmissions.Fr原创 2021-07-23 22:26:07 · 9655 阅读 · 29 评论 -
Matlab:实现菲涅尔矩形孔衍射仿真
本文基于光学原理,用Matlab实现菲涅尔矩形孔衍射现象仿真。Project Code代码理解:参看Matlab:实现菲涅尔圆孔衍射仿真% 作者:ZQJ% 日期:2021.7.23 星期五%***********************基于光场传输模拟菲涅尔矩形孔衍射**************************%% 菲涅尔衍射傅里叶变换clear,clc,close all;allmasks = f_Masks;func_translight = f_Lightfield_原创 2021-07-23 19:09:26 · 3181 阅读 · 8 评论 -
Matlab:实现菲涅尔圆孔衍射仿真
本文基于光学原理,用Matlab实现菲涅尔圆孔衍射现象仿真。以下提供两种菲涅尔衍射的数值计算方法:菲涅尔衍射积分的离散求和菲涅尔衍射FFT法Project Code% 作者:ZQJ% 日期:2021.7.22 星期四%**********************基于光场传输模拟菲涅尔圆孔衍射*************************%% 菲涅尔衍射积分*******************************************clear,clc,close all原创 2021-07-23 19:00:57 · 12674 阅读 · 16 评论 -
Matlab:实现高斯光束产生
本文基于光学原理,用Matlab实现高斯光束产生。Project Code% 作者:ZQJ% 日期:2021.7.21 星期三%***********************模拟高斯光图样**************************clear, clc, close all;lamda = 1550e-9;gaussian_I = f_Gaussian_beams(1e-3,0.02,lamda,8e-3,8e-3,1024,1024); subplot(1,2,1),ima原创 2021-07-23 18:58:51 · 11299 阅读 · 4 评论 -
Matlab:实现菲涅尔直边衍射仿真
本文基于光学原理,用Matlab实现菲涅尔直边衍射现象仿真。Project Code% 作者:ZQJ% 日期:2021.5.18 星期二%***********************菲尼尔直边衍射仿真**************************clear,clc,close all;% 本例输入:Lambda = 632.8; L = 0.2;Lambda = input('输入光的波长(单位为nm):');Lambda = Lambda * 1e-9; %波长单位原创 2021-05-18 22:42:35 · 3077 阅读 · 2 评论 -
Matlab:二维卷积定理验证
本文基于光学理论,用Matlab实现二维卷积定理验证的仿真。Project Code% 作者:ZQJ% 日期:2021.2.10 星期三%***********************卷积定理的验证**************************clear,clc,close all;% 水平和竖直光栅mask及其fft *************************Mask_column = zeros(200);Mask_row = zeros(200);for n = 1原创 2021-02-10 17:06:00 · 1559 阅读 · 0 评论 -
Matlab:实现三角形掩膜输入+傅里叶变换仿真
本文基于光学原理,用Matlab实现三角形掩膜FFT现象仿真。Project Code% 作者:ZQJ% 日期:2021.1.29 星期五%***********************模拟三角孔掩膜及其傅里叶变换图样**************************clear,clc,close all;triangle_image = double(rgb2gray((imread('三角孔掩膜.PNG')))); %得到二维矩阵subplot(1,2,1);imagesc(tr原创 2021-01-29 21:26:56 · 1211 阅读 · 0 评论 -
Matlab:实现光波偏振态仿真
本文基于光学原理,用Matlab实现光波的偏振态仿真。Project Code% 作者:ZQJ% 日期:2021.1.28 星期四%***********************模拟光波的偏振态图样**************************clear,clc,close all;% 基本参数输入及处理*********************************% 本例输入:Lambda = 632.8; Lambda = input('输入光的波长(单位为nm):');原创 2021-01-28 22:18:21 · 7081 阅读 · 5 评论 -
Matlab:实现迈克尔逊等倾干涉仿真
本文基于光学原理和波动理论,用Matlab实现迈克尔逊等倾干涉现象仿真。迈克尔逊干涉原理实验装置:光强分布公式:产生光程差大小Δ=2ndcosi\Delta=2nd cosiΔ=2ndcosi;(iii为光源S在M1上的入射角,n为折射率)由光波叠加原理,干涉光强分布公式:I=2I0cos2(πΔλ)I=2I_0cos^2(\frac {\pi\Delta} {\lambda})I=2I0cos2(λπΔ)其中,在屏幕前加上焦距为f的透镜,则iii可表示为:i=arctanx2+y2f原创 2021-01-28 19:36:33 · 8053 阅读 · 20 评论 -
Matlab:实现牛顿环干涉仿真
本文基于光学原理和波动理论,用Matlab实现牛顿环干涉现象仿真。牛顿环干涉原理实验装置:光强分布公式推导:假设入射光的光强为I0I_0I0 , 波长为λ\lambdaλProject Code% 作者:ZQJ% 日期:2021.1.28 星期四%***********************模拟牛顿环干涉图样**************************clear,clc,close all;% 基本参数输入及处理**************************原创 2021-01-28 12:41:06 · 10245 阅读 · 11 评论 -
Matlab:实现Fra多缝衍射仿真
本文基于光学原理,用Matlab实现夫琅禾费多缝衍射现象仿真。Project Code% 作者:ZQJ% 日期:2021.1.8 星期五%***********************模拟狭缝型光栅衍射图样**************************% 该仿真也即:多缝的夫琅禾费衍射clear,clc;% 基本参数输入及处理*********************************% 本例输入:Lambda = 632.8; a = 0.1; d = 0.3; L原创 2021-01-16 16:37:36 · 2970 阅读 · 6 评论 -
Matlab:实现Fra圆孔衍射仿真
本文基于光学原理,用Matlab实现夫琅禾费圆孔衍射现象仿真。Project Code算法核心机理:参看基于光的叠加原理——提出近似分析衍射的一种方法% 作者:ZQJ% 日期:2021.1.8 星期五%***********************模拟圆孔衍射图样**************************% 方法:在圆孔中,均匀取点光源模拟; 该仿真可以理解为:基于夫琅禾费衍射(L的大小不影响图像)clear,clc;% 基本参数输入及处理****************原创 2021-01-16 16:34:42 · 4708 阅读 · 1 评论 -
Matlab:实现Fra矩形孔衍射仿真
本文基于光学原理,用Matlab实现夫琅禾费矩形孔衍射现象仿真。Project Code算法核心机理:参看基于光的叠加原理——提出近似分析衍射的一种方法% 作者:曾庆计% 日期:2021.1.8 星期五%***********************模拟矩形孔衍射图样**************************% 方法:在矩形孔中,均匀取点光源模拟; 该仿真可以理解为:基于夫琅禾费衍射(L的大小不影响图像)clear,clc;% 基本参数输入及处理*************原创 2021-01-16 16:31:47 · 4002 阅读 · 2 评论 -
Matlab:实现Fra单缝衍射仿真
本文基于光学原理,用Matlab实现单缝衍射现象仿真。Project Code算法核心机理:参看基于光的叠加原理——提出近似分析衍射的一种方法% 作者:ZQJ% 日期:2021.1.7 星期四%***********************模拟单缝衍射图样**************************% 注:单缝为竖直长条状 该仿真可以理解为:基于夫琅禾费衍射clear,clc;% 基本参数输入及处理*********************************% 本例原创 2021-01-16 16:26:34 · 4942 阅读 · 3 评论 -
Matlab:实现非单色光双缝干涉仿真
本文基于光学原理,用Matlab实现非单色光双缝干涉现象仿真。Project Code干涉原理:基于单色光的双缝干涉,将不同波段的光进行干涉后,光强进行叠加。代码中采用11束单色光组成的非单色光束进行模拟。% 作者:ZQJ% 日期:2021.1.5 星期二%***********************模拟非单色光双缝干涉现象**************************clear,clc;% 基本参数输入及处理*********************************原创 2021-01-16 16:01:29 · 1638 阅读 · 0 评论 -
Matlab:实现杨氏双缝干涉仿真
本文基于光学原理,用Matlab实现杨氏双缝干涉现象仿真。Project Code%***********************模拟杨氏干涉现象**************************clear,clc;% 基本参数输入及处理*********************************% 本例输入:Lambda = 500; d = 2; D = 1;Lambda = input('输入光的波长(单位为nm):');Lambda = Lambda * 1e-9;原创 2021-01-16 15:53:30 · 9697 阅读 · 10 评论 -
Matlab:实现“光学拍”仿真
本文基于光波的叠加原理。两列单色波的产生单色波的产生函数:function y = F_product_wave(A,k,w,t,x) % 函数功能:产生波动函数% A:波的振幅 k:空间角频率或波数 w:(振动)角频率 % t:时间 x:x方向空间坐标% ***************************************************y = A*cos(k*x-w*t);endProject Code:%***************原创 2021-01-16 15:07:12 · 4708 阅读 · 2 评论