- 博客(45)
- 资源 (8)
- 收藏
- 关注
原创 Matlab:极坐标下用于矩阵数据的环状取值函数
本文解决的问题为:基于matlab书写了一个极坐标下用于矩阵数据的环状取值函数,能够自定义极坐标半径,按对应极坐标角度数值增大方向(逆时针方向)进行数据提取并排序。
2023-03-30 15:58:13 743 4
原创 基于Jones或Stokes矩阵绘制光的偏振态图样(附加函数)
本文解决的问题:基于matlab书写了一个**单一光的偏振态绘制图样**案例,提供了基于**Jones矩阵和Stokes参数矩阵输入处理**的函数。提供技术价值:在光的矩阵运算过程,可以对光的偏振态进行调动以实时绘制并输出观察。
2023-02-06 18:07:09 1786
原创 Matlab:一维或二维狄拉克(Dirac)产生函数
本文解决的问题为:基于matlab书写了一个狄拉克(Dirac)产生函数,提供了一维和二维的函数。同时,该函数也同时提供了阵列矩阵孔的产生方法。Fouction Code% 作者:ZQJ% 日期:2022.4.25 星期一%*********************** 狄拉克产生函数 **************************function Dirac_function = f_Dirac_generation Dirac_function.dirac_1D =
2022-04-25 13:56:09 4859 4
原创 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 3482 12
原创 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 2521 10
原创 Matlab:矩阵自定义离散赋值函数
本文解决的问题为:将输入矩阵进行自定义等间隔的离散化赋值。Fouction Code% 作者:ZQJ% 日期:2022.2.26 星期六%*********************** 将输入矩阵自定义等间隔离散区间进行离散化赋值 **************************function E_out = f_Trans_DiscreteValue(E_in,Initial_value,End_value,counts)% E_in:输入矩阵% Initial_value:输出离
2022-02-26 19:51:07 1049
原创 Matlab:矩阵平移函数
本文解决的问题为:将输入矩阵进行自定义(上下左右)移动,移动后空余的像素统一赋值。Fouction Code% 作者:ZQJ% 日期:2022.2.25 星期五%*********************** 将输入矩阵按照像素值为单位进行图像平移 **************************function E_out = f_Image_Shifting(E_in,Up_Shift,Down_Shift,Left_Shift,Right_Shift,A)% E_in:输入矩阵%
2022-02-25 22:27:24 3926
原创 Matlab:矩阵剪切成圆形区域函数
本文解决的问题为:对于一般的矩阵,其显示均为矩形窗口下的数值情况。有时候,我们需要将这个矩阵里的数据仅截取成圆形窗口(中心位置和大小自定义)。Fouction Code% 作者:ZQJ% 日期:2022.2.24 星期四function E_out = f_Cut_for_circleMask(E_in,Center_x,Center_y,Cir_Radiu,A)% 函数功能:将输入矩阵按照像素值为单位进行圆形区域截取% E_in:输入矩阵% Center_x:截取圆形区域的中心坐标x%
2022-02-24 17:28:57 4089 5
原创 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 2099 5
原创 Matlab:仿真正弦光栅的衍射传输特性
本文基于光学原理,用Matlab实现正弦光栅的衍射传输特性仿真。正弦光栅分类:振幅型:光栅的透过率函数符合一个正弦sin函数的分布。相位型:光栅对相位的调制符合一个正弦sin函数的分布。Project Code% 作者:ZQJ% 日期:2021.11.18 星期四%**********************正弦光栅的衍射传输特性(包括振幅型和相位型)****************************%% 振幅型正弦光栅 ********clear,clc,close all
2021-11-18 17:12:56 5124 8
原创 Matlab:图像中心平移函数
本文解决的问题为:我们所期望的图像中心,并不在成像的中心,建立一个函数去解决这个问题,使图像的中心成像在中间。Fouction Code% 作者:ZQJ% 日期:2021.8.12 星期四function image_out = f_ImageCenter_shift(image_pri,goal_x,goal_y)%函数功能:图像的中心平移(图的中心点,移动到图像矩阵的中心)% image_pri:原始图像矩阵(最好是两奇数像素数量)% goal_x:图的中心在原图像矩阵中的行坐标%
2021-08-12 18:01:01 1820 2
原创 Matlab:实现理想涡旋光束产生
本文基于光学原理,用Matlab实现理想涡旋光束产生仿真。Project Code% 作者:ZQJ% 日期:2021.7.24 星期六%***********************模拟理想的涡旋光束产生**************************% 方法:高斯光加螺旋相位传输clear,clc,close all;func_translight = f_Lightfield_transmission;% 基本参数输入*****************************L
2021-07-24 19:30:34 6762 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 10876 31
原创 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 3485 9
原创 Matlab:实现菲涅尔圆孔衍射仿真
本文基于光学原理,用Matlab实现菲涅尔圆孔衍射现象仿真。以下提供两种菲涅尔衍射的数值计算方法:菲涅尔衍射积分的离散求和菲涅尔衍射FFT法Project Code% 作者:ZQJ% 日期:2021.7.22 星期四%**********************基于光场传输模拟菲涅尔圆孔衍射*************************%% 菲涅尔衍射积分*******************************************clear,clc,close all
2021-07-23 19:00:57 13740 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 12524 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 3326 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 1688
原创 Matlab:产生“几何图形掩膜”函数
本文基于信息光学初等函数及基础几何图形学,用Matlab定义并编写得到几何图形掩膜的函数。Project Code掩膜主函数定义如下:% 作者:ZQJ% 日期:2021.1.29 星期五%***********************几何图形掩膜函数**************************function mask_ = Z_Masks mask_.single_silt = @mask1; mask_.rect_hole = @mask2;
2021-01-29 21:44:41 6592
原创 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 1352
原创 Matlab:实现光波偏振态仿真
本文基于光学原理,用Matlab实现光波的偏振态仿真。Project Code% 作者:ZQJ% 日期:2021.1.28 星期四%***********************模拟光波的偏振态图样**************************clear,clc,close all;% 基本参数输入及处理*********************************% 本例输入:Lambda = 632.8; Lambda = input('输入光的波长(单位为nm):');
2021-01-28 22:18:21 8332 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 8858 20
原创 Matlab:实现牛顿环干涉仿真
本文基于光学原理和波动理论,用Matlab实现牛顿环干涉现象仿真。牛顿环干涉原理实验装置:光强分布公式推导:假设入射光的光强为I0I_0I0 , 波长为λ\lambdaλProject Code% 作者:ZQJ% 日期:2021.1.28 星期四%***********************模拟牛顿环干涉图样**************************clear,clc,close all;% 基本参数输入及处理**************************
2021-01-28 12:41:06 11100 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 3266 6
原创 Matlab:实现Fra圆孔衍射仿真
本文基于光学原理,用Matlab实现夫琅禾费圆孔衍射现象仿真。Project Code算法核心机理:参看基于光的叠加原理——提出近似分析衍射的一种方法% 作者:ZQJ% 日期:2021.1.8 星期五%***********************模拟圆孔衍射图样**************************% 方法:在圆孔中,均匀取点光源模拟; 该仿真可以理解为:基于夫琅禾费衍射(L的大小不影响图像)clear,clc;% 基本参数输入及处理****************
2021-01-16 16:34:42 5099 1
原创 Matlab:实现Fra矩形孔衍射仿真
本文基于光学原理,用Matlab实现夫琅禾费矩形孔衍射现象仿真。Project Code算法核心机理:参看基于光的叠加原理——提出近似分析衍射的一种方法% 作者:曾庆计% 日期:2021.1.8 星期五%***********************模拟矩形孔衍射图样**************************% 方法:在矩形孔中,均匀取点光源模拟; 该仿真可以理解为:基于夫琅禾费衍射(L的大小不影响图像)clear,clc;% 基本参数输入及处理*************
2021-01-16 16:31:47 4371 2
原创 Matlab:实现Fra单缝衍射仿真
本文基于光学原理,用Matlab实现单缝衍射现象仿真。Project Code算法核心机理:参看基于光的叠加原理——提出近似分析衍射的一种方法% 作者:ZQJ% 日期:2021.1.7 星期四%***********************模拟单缝衍射图样**************************% 注:单缝为竖直长条状 该仿真可以理解为:基于夫琅禾费衍射clear,clc;% 基本参数输入及处理*********************************% 本例
2021-01-16 16:26:34 5188 3
原创 Matlab:绘制阿基米德螺旋线结构
本文基于阿基米德螺旋线的基本理论,用Matlab实现阿基米德螺旋线的绘制仿真。Project Code基本概念:旋向,起始半径r0,螺距P极坐标图下:% 作者:ZQJ% 日期:2021.1.6 星期三%***********************模拟阿基米德螺旋线型**************************%% 极坐标图clear,clc;cir = input('输入阿基米德螺旋线的旋向(右旋为1,左旋为0):');r0 = input('输入阿基米德螺旋线的起始半
2021-01-16 16:20:34 10092 5
原创 Matlab:实现非单色光双缝干涉仿真
本文基于光学原理,用Matlab实现非单色光双缝干涉现象仿真。Project Code干涉原理:基于单色光的双缝干涉,将不同波段的光进行干涉后,光强进行叠加。代码中采用11束单色光组成的非单色光束进行模拟。% 作者:ZQJ% 日期:2021.1.5 星期二%***********************模拟非单色光双缝干涉现象**************************clear,clc;% 基本参数输入及处理*********************************
2021-01-16 16:01:29 1775
原创 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 10188 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 5124 2
原创 基于费马原理推导斯涅耳定律和广义斯涅耳定律
费马原理表明:光是沿着光程为极值(极大、极小或常量)的路径传播的。因此,费马原理也叫光程极端定律。费马原理推导斯涅耳定律(折、反射定律) (介质的折射率为n)由上图,得到光线从A点出发经P点反射到达B点,所经过的光程s可表示为:...
2021-01-10 18:31:47 18420 12
原创 蓝桥杯单片机——LED亮度等级控制
本篇讲的单片机是第十一届蓝桥杯单片机实训的硬件设备。LED亮度等级控制原理LED亮度的控制,即控制LED的高低电平时间(PWM电平输出),得到不同明亮程度的LED灯。主要方法:在1ms定时器中断函数内,调节LED的输出高低电平时间。其实所说的PWM控制,实质就是通过定时器中断来实现,本质是一样的。LED亮度等级控制范例例如:LED需要5个等均匀分布的亮度等级,以1s周期切换显示。代码编写如下:void timer2_int (void) interrupt 12 //定时
2020-11-18 18:41:57 3494 3
原创 蓝桥杯单片机——频率测量
本篇讲的单片机是第十一届蓝桥杯单片机实训的硬件设备。蓝桥杯单片机硬件基础NE555N电路图:NE555N为一款脉冲发生器芯片,当单片机上电时,芯片将产生一定频率的连续脉冲。通过Rb3变阻器旋钮来改变输出脉冲的频率。...
2020-07-22 19:16:37 2839 6
原创 蓝桥杯单片机——超声波模块驱动
本篇讲的单片机是第十一届蓝桥杯单片机实训的硬件设备。蓝桥杯单片机硬件基础CX20106A电路图:CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38kHz与测距超声波频率40kHz较为接近,可以利用它作为超声波检测电路。超声波发射电路图:超声波和红外线选择电路图:因此,当需要使用超声波功能时,需要将J2口的1和3、2和4短接。超声波相关函数代码:超声波初始化函数:(选择定时器,设置初始值)void US_init(void
2020-07-21 21:03:21 2959 5
原创 蓝桥杯单片机——串口通信程序
本篇讲的单片机是第十一届蓝桥杯单片机实训的硬件设备。IAP15F2K61S2单片机串口基础IAP15F2K61S2单片机内部有2个采用UART工作方式的全双工串行通信接口(串行口1和串行口2)。每个串行口由2个数据缓冲器、1个移位寄存器、1个串行控制器和1个波特率发生器等组成。串行口1的两个数据缓冲器的共用地址码是99H,串行口2的两个数据缓冲器的共用地址码是9BH;IAP15F2K61S2单片机的串行口有4种工作方式,有的工作方式的波特率是可变的。蓝桥杯单片机串口通信代码编写:初始化
2020-07-19 11:38:09 3177 2
原创 蓝桥杯单片机——PCF8591 ADC/DAC模块
蓝桥杯单片机硬件基础PCF8591电路图:PCF8591是具有IIC总线接口的8位A/D及D/A转换器,有4路A/D转换输入,1路D/A模拟输出,信息传输仅靠时钟线SCL和数据线SDA就可以实现。模拟电压输入电路图:硬件上旋动Rb2旋钮,即可改变模拟电压的输入值。光强电阻电压输入电路图:光敏电阻值的改变,影响该模拟电压通道的输入值。ADC/DAC模块驱动配置PCF8591采用IIC总线接口器件寻址方法,器件地址和引脚地址如下:可知写入的第一个字节为0x90;控制字节格式配置如下
2020-07-18 10:55:54 7790 10
原创 蓝桥杯单片机——AT24C02存储器
蓝桥杯单片机硬件基础蓝桥杯单片机AT24C02存储器电路图:由上述电路硬件连接和AT24C02存储器地址初值,可知该AT24C02存储器的器件地址为:0xa0;AT24C02读写时序(IIC为基础)AT24C02存储器容量为256*8(2kB),通信接口采用双线串行接口(SCL时钟线、SDA串行数据线);双线数据传送协议为:ISO/IEC7816-3同步协议。写字节时序:根据上述写字节时序,得到写字节函数代码://函数功能:写入AT24C02一字节//入口参数:写入地址、写入数据v
2020-07-17 13:46:27 3532 2
原创 蓝桥杯单片机——DS18B20温度传感器
蓝桥杯单片机硬件基础蓝桥杯单片机DS18B20电路图如下:传感器说明DS18B20是单线接口数字温度传感器,测量范围是 -55 ~ +125摄氏度,-10 ~ +85摄氏度范围内精度为0.5摄氏度。测量分辨率为9~12位(复位值为12位,最大转换时间为750ms)。通过单线总线端口访问 DS1820 的协议如下:初始化ROM操作命令存储器操作命令执行/数据注意温度原始值与摄氏度值的比例关系(需要乘以一个比例系数)相关代码后期将会分享发出;博主也是比赛选手之一哦,大家一起努
2020-07-17 10:50:00 3526 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人