MATLAB仿真马赫曾德矩形光路两球面波干涉程序在光学研究领域马赫曾德干涉仪是一种极为重要的实验装置用于研究光的干涉现象。今天咱们就来聊聊如何用MATLAB对马赫曾德矩形光路中两球面波的干涉进行仿真。理论基础马赫曾德干涉仪通过分束器将一束光分成两束经过不同路径传播后再重新汇聚产生干涉。两球面波干涉时其光强分布遵循一定的规律。假设两球面波的表达式分别为\[E1 \frac{A1}{r1} e^{i(k r1 - \omega t)}\]MATLAB仿真马赫曾德矩形光路两球面波干涉程序\[E2 \frac{A2}{r2} e^{i(k r2 - \omega t)}\]合成后的光强 \(I |E1 E2|^2 I1 I2 2\sqrt{I1 I2} \cos(\Delta \phi)\)其中 \(I1 |E1|^2\)\(I2 |E2|^2\)\(\Delta \phi k(r2 - r1)\) 是两束光的相位差。MATLAB实现% 参数设置 lambda 500e - 9; % 波长单位米 k 2 * pi / lambda; % 波数 A1 1; A2 1; % 振幅 % 空间范围 x linspace(-1e - 3, 1e - 3, 1000); y linspace(-1e - 3, 1e - 3, 1000); [X, Y] meshgrid(x, y); % 光源位置 source1 [0, 0]; source2 [0, 0.5e - 3]; % 计算光程 r1 sqrt((X - source1(1)).^2 (Y - source1(2)).^2); r2 sqrt((X - source2(1)).^2 (Y - source2(2)).^2); % 计算相位差 delta_phi k * (r2 - r1); % 计算光强 I1 (A1.^2)./ r1.^2; I2 (A2.^2)./ r2.^2; I I1 I2 2 * sqrt(I1.* I2).* cos(delta_phi); % 绘图 figure; surf(X * 1e3, Y * 1e3, I); shading interp; xlabel(x (mm)); ylabel(y (mm)); zlabel(Intensity); title(马赫曾德矩形光路两球面波干涉光强分布);代码分析参数设置部分我们首先定义了光的波长lambda以及相应的波数k还有两球面波的振幅A1和A2。这里将它们都设为1实际应用中可以根据具体情况调整。空间范围设置通过linspace函数生成了在 \(x\) 和 \(y\) 方向上的坐标点范围是 \(-1\) 毫米到 \(1\) 毫米并且使用meshgrid函数将其转化为网格形式这样方便后续计算每个点的光强。光源位置设置定义了两个球面波的光源位置source1和source2。这里简单地将一个光源放在原点另一个放在 \(y\) 方向上 \(0.5\) 毫米处这模拟了马赫曾德干涉仪中两束光的不同传播路径起始点。光程计算利用欧几里得距离公式计算每个网格点到两个光源的距离r1和r2这是后续计算相位差和光强的基础。相位差和光强计算根据前面提到的理论公式计算两球面波的相位差deltaphi以及最终的合成光强I。这里通过对每个点的I1、I2和cos(deltaphi)进行运算得到光强分布。绘图部分使用surf函数绘制三维的光强分布图形通过shading interp让图形看起来更平滑。并添加了坐标轴标签和标题使结果更直观。通过这个MATLAB程序我们可以直观地看到马赫曾德矩形光路中两球面波干涉的光强分布情况有助于深入理解光的干涉现象及其背后的物理原理。当然实际的马赫曾德干涉仪可能涉及更复杂的光学元件和光路设置这个基础程序可以作为进一步拓展和研究的起点。
MATLAB仿真马赫曾德矩形光路两球面波干涉程序探索
发布时间:2026/5/27 0:09:17
MATLAB仿真马赫曾德矩形光路两球面波干涉程序在光学研究领域马赫曾德干涉仪是一种极为重要的实验装置用于研究光的干涉现象。今天咱们就来聊聊如何用MATLAB对马赫曾德矩形光路中两球面波的干涉进行仿真。理论基础马赫曾德干涉仪通过分束器将一束光分成两束经过不同路径传播后再重新汇聚产生干涉。两球面波干涉时其光强分布遵循一定的规律。假设两球面波的表达式分别为\[E1 \frac{A1}{r1} e^{i(k r1 - \omega t)}\]MATLAB仿真马赫曾德矩形光路两球面波干涉程序\[E2 \frac{A2}{r2} e^{i(k r2 - \omega t)}\]合成后的光强 \(I |E1 E2|^2 I1 I2 2\sqrt{I1 I2} \cos(\Delta \phi)\)其中 \(I1 |E1|^2\)\(I2 |E2|^2\)\(\Delta \phi k(r2 - r1)\) 是两束光的相位差。MATLAB实现% 参数设置 lambda 500e - 9; % 波长单位米 k 2 * pi / lambda; % 波数 A1 1; A2 1; % 振幅 % 空间范围 x linspace(-1e - 3, 1e - 3, 1000); y linspace(-1e - 3, 1e - 3, 1000); [X, Y] meshgrid(x, y); % 光源位置 source1 [0, 0]; source2 [0, 0.5e - 3]; % 计算光程 r1 sqrt((X - source1(1)).^2 (Y - source1(2)).^2); r2 sqrt((X - source2(1)).^2 (Y - source2(2)).^2); % 计算相位差 delta_phi k * (r2 - r1); % 计算光强 I1 (A1.^2)./ r1.^2; I2 (A2.^2)./ r2.^2; I I1 I2 2 * sqrt(I1.* I2).* cos(delta_phi); % 绘图 figure; surf(X * 1e3, Y * 1e3, I); shading interp; xlabel(x (mm)); ylabel(y (mm)); zlabel(Intensity); title(马赫曾德矩形光路两球面波干涉光强分布);代码分析参数设置部分我们首先定义了光的波长lambda以及相应的波数k还有两球面波的振幅A1和A2。这里将它们都设为1实际应用中可以根据具体情况调整。空间范围设置通过linspace函数生成了在 \(x\) 和 \(y\) 方向上的坐标点范围是 \(-1\) 毫米到 \(1\) 毫米并且使用meshgrid函数将其转化为网格形式这样方便后续计算每个点的光强。光源位置设置定义了两个球面波的光源位置source1和source2。这里简单地将一个光源放在原点另一个放在 \(y\) 方向上 \(0.5\) 毫米处这模拟了马赫曾德干涉仪中两束光的不同传播路径起始点。光程计算利用欧几里得距离公式计算每个网格点到两个光源的距离r1和r2这是后续计算相位差和光强的基础。相位差和光强计算根据前面提到的理论公式计算两球面波的相位差deltaphi以及最终的合成光强I。这里通过对每个点的I1、I2和cos(deltaphi)进行运算得到光强分布。绘图部分使用surf函数绘制三维的光强分布图形通过shading interp让图形看起来更平滑。并添加了坐标轴标签和标题使结果更直观。通过这个MATLAB程序我们可以直观地看到马赫曾德矩形光路中两球面波干涉的光强分布情况有助于深入理解光的干涉现象及其背后的物理原理。当然实际的马赫曾德干涉仪可能涉及更复杂的光学元件和光路设置这个基础程序可以作为进一步拓展和研究的起点。