⛄一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【光学】基于matlab非单色光双缝干涉仿真(含光的波长 两缝之间距离 合成光强分布)【含Matlab源码 5051期】
点击上面蓝色字体,直接付费下载,即可。
获取代码方式2:
付费专栏Matlab物理应用(初级版)
备注:
点击上面蓝色字体付费专栏Matlab物理应用(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab物理应用(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码
⛄二、部分源代码
%模拟非单色光双缝干涉现象***
clear,clc;
% 基本参数输入及处理*********************************
% 本例输入:Lambda = 500; d = 2; D = 1; N_light = 11;
Lambda = input(‘输入其中一束光的波长(单位为nm):’);
Lambda = Lambda * 1e-9; %波长单位转为:m
d = input(‘输入两个缝的间距(单位为mm):’);
d = d * 1e-3; %缝间隙单位转为:m
D = input(‘输入缝到屏的距离(单位为m):’);
N_light = input(‘输入有几束单色光:’);
I0 = 1; %假定波的光强统一
Xmax = 5LambdaD/d; %Xmax取第五级亮纹位置(边界)–单位为:m
x = linspace(-Xmax,Xmax,101); %坐标取样101份
I = zeros(101,1);
for i=1:101
r1 = sqrt((x(i)+d/2)2+D2); %在x坐标轴上的情况
r2 = sqrt((x(i)-d/2)2+D2);
dL = linspace(-0.1,0.1,N_light); %取11束单色光
Lambda_s = Lambda*(1+dL);
phi = 2pi(r2-r1)./Lambda_s; %各单色光相位差
I(i,:) = sum(4I0cos(phi/2).^2)/N_light; %合成波光强
end
% 合成光强灰度分布图*************************
I_change = I./4 .*255; %光强归一化 并转为255灰度值
subplot(2,1,1);
image(x,Xmax,I_change’); %设置x和y的像素,显示数值
colormap(gray(255)); %妆点灰度色彩
xlabel(‘空间坐标x’);
title(‘合成光强空间分布’);
% 合成光强函数分布图*************************
subplot(2,1,2);
plot(x,I’);
axis([-Xmax,Xmax,0,4]);
xlabel(‘空间坐标x’), ylabel(‘合成光强度’);
title(‘合成光强空间分布函数’);
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 门云阁.MATLAB物理计算与可视化[M].清华大学出版社,2013.
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除