clear,clc;
Lambda = 632.8e-9;
a = 0.1e-3; %光栅狭缝宽度单位转为:m
d = 0.3e-3; %光栅缝距长度单位转为:m
N = 3; %缝数
L = 1; %光栅到屏的距离
I0 = 1;
Screen_Xmax = 2*Lambda*L/a; %接收屏x方向位置(边界)--单位为:m
Screen_x = linspace(-Screen_Xmax,Screen_Xmax,501); %屏x坐标取样501份
sin_angle = Screen_x./L;
alpha = pi*a/Lambda.*sin_angle; %公式里的其中一个相位差
deta = 2*pi*a/Lambda.*sin_angle; %公式里的另一个相位差
I = I0* (sin(alpha)./alpha).^2 .* (sin(N/2.*deta)./sin(deta./2)).^2;
I = I/max(I);
% 衍射光强函数分布图*************************
subplot(2,1,2);
plot(Screen_x,I);
axis([-Screen_Xmax,Screen_Xmax,0,1]);
xlabel('空间坐标x'), ylabel('衍射光强度');
title('多缝衍射光强空间分布函数');
grid on;
% 衍射光强灰度分布图*************************
I = I*1024; %光强归一,扩大显示
subplot(2,1,1);
image(Screen_x,Screen_Xmax,I); %设置x和y的像素,显示数值
colormap gray; %妆点色彩
xlabel('空间坐标x');
title('衍射光强空间分布');
原代码如上
是否能通过哪种方法得到下图