1 简介
利用MATLAB绘制白光单缝衍射图像和演示二维自由粒子的波函数演化过程
2 部分代码
lambda=[660,610,570,550,460,440,410].*10^(-9);%七色光的波长RGB=[1,0,0;1,0.5,0;1,1,0;0,1,0;0,1,1;0,0,1;0.67,0,1];%七色光的RGB值d=4e-5;b=8e-6;N=18;Bright=80;%单缝与光源的参数Irgb=zeros(150,1885,3);%由空间各点的RGB值构成的数组,第三个维度是RGB值Iw=zeros(150,1885,3);for k=1:7theta=(-0.003*pi:0.00001:0.003*pi);phi=2*pi*d*sin(theta)/lambda(k);alpha=pi*b*sin(theta)/lambda(k);Idf=(sinc(alpha)).^2;Idgs=(sin(N *phi/2)./sin(phi/2)).^2;%单缝衍射公式I=Idf.*Idgs;for i=1:150Iw(i,:,1)=I*RGB(k,1);Iw(i,:,2)=I*RGB(k,2);Iw(i,:,3)=I*RGB(k,3);end%单色光的光强Irgb=Irgb+Iw;Iw=[];endBr=1/max(max(max(Irgb)));II=Irgb*Br*Bright;%对光强进行一些调整,使图像亮度适中imshow(II)%将RGB值转化为图像
3 仿真结果



4 参考文献
[1]学生, 高志强, 指导教师,等. 用 matlab 进行波动光学的计算机模拟.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
该博客介绍了如何使用MATLAB进行光学模拟,包括绘制白光通过单缝的衍射图像以及演示二维自由粒子的波函数随时间的演化过程。代码示例展示了不同波长的七色光如何影响衍射图案,并提供了对光强的调整以优化显示效果。此外,博主分享了其在智能优化算法、神经网络等多个MATLAB仿真领域的专长。
382

被折叠的 条评论
为什么被折叠?



