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:7 theta=(-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:150 Iw(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代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。