用matlab写出对应程序:当光经过两层折射率失配的介质时,随存储深度的变化点扩散函数强度在轴向的变化
时间: 2024-03-20 10:38:34 浏览: 55
以下是MATLAB代码实现,其中包括输入介质的折射率、存储深度和传播距离等参数,并计算了轴向的点扩散函数强度变化。
```matlab
% 输入介质折射率
n1 = 1.5;
n2 = 1.3;
% 输入存储深度和传播距离
z1 = 0.01;
z2 = 0.05;
d = 1;
% 计算焦距和光斑半径
f = d / (n1 - n2);
r0 = sqrt(2 * d * f / (n1 * pi));
% 计算点扩散函数强度变化
z = 0:0.01:0.1;
r = 0:0.01:r0;
intensity = zeros(length(z), length(r));
for i = 1:length(z)
for j = 1:length(r)
if r(j) <= r0
rho = r(j) / r0;
intensity(i,j) = (1 / (pi * r0^2)) * (1 - (2 / (sqrt(pi) * rho)) * exp(-(z(i) / z1)^2) * erfc(rho / sqrt(2) - (z(i) / (sqrt(2) * z2))));
end
end
end
% 绘制轴向的点扩散函数强度变化图像
figure;
plot(z, intensity(:,round(length(r) / 2)));
xlabel('z (m)');
ylabel('Intensity (a.u.)');
title('Axial Point Spread Function');
```
这段代码实现了当光经过两层折射率失配的介质时,随存储深度的变化点扩散函数强度在轴向的变化。
阅读全文