python画图杨氏双缝干涉
时间: 2024-07-17 20:01:29 浏览: 204
杨氏双缝干涉matlab仿真
在Python中,我们可以使用matplotlib库来创建杨氏双缝干涉的模拟图像。这是一种经典的物理学实验,展示了光波的波动性和干涉现象。下面是一个简单的示例代码,演示如何绘制基本的双缝干涉图案:
```python
import numpy as np
import matplotlib.pyplot as plt
# 杨氏双缝参数设置
wavelength = 550e-9 # 红色光的波长,单位纳米
distance_doubleslit = 0.1 # 双缝之间的距离,单位米
distance_screen = 1 # 屏幕到双缝的距离,单位米
num_slits = 2 # 双缝的数量
slit_width = 0.005 # 每个缝隙的宽度,单位米
dx = 0.001 # 计算网格点间距,单位米
# 创建x轴的坐标范围
x = np.linspace(-distance_screen, distance_screen, num=1000)
# 计算每个位置的光程差
path_diffs = 2 * wavelength * (x - distance_doubleslit / 2) / dx
# 创建干涉条纹函数
def interference_pattern(path_diffs):
return np.sin(path_diffs)**2
# 生成干涉图案数据
intensity = interference_pattern(path_diffs)
max_intensity = intensity.max()
# 绘制干涉图形
plt.plot(x, intensity, color='blue', linewidth=2)
plt.xlabel('Distance from slit (m)')
plt.ylabel('Intensity')
plt.title(f'Single-Slit Interference Pattern (Max Intensity = {max_intensity:.2f})')
plt.xlim([-distance_screen, distance_screen])
plt.grid(True)
plt.show()
```
运行此代码后,你将看到一个显示了干涉条纹的图表,这代表了光通过两个相邻缝隙后的叠加效果。
阅读全文