代码:

import numpy as np
import matplotlib.pyplot as plt
import randomv=3*(10**8)*(10**6)*(10**(-15))
#print(v)
L=0.589w=2*np.pi*v/Ldef func_A(t,q,x,y,x0,y0):r=((x-x0)**2+(y-y0)**2)**0.5A=np.cos(w*(t-r/v)+q)return Afig,ax=plt.subplots()
ax.set_xticks([])
ax.set_yticks([])def f(t,x,y):A1=func_A(t,0,x,y,0,2)A2=func_A(t,0,x,y,0,-2)return ((A1+A2)**2)x=np.linspace(0,8,1000)
y=np.linspace(-5,5,1000).reshape(-1,1)
ax.imshow(f(0,x,y))plt.show()

运行结果:

上面演示了程序表示的光的干涉,下面演示光的衍射程序:

# -- coding:utf-8 --import numpy as np
import matplotlib.pyplot as plt
import math#表示长度的物理量单位m
#波长
wavelength=float(5.0*10**-9)#双缝间距
d_slit=float(0.002)#缝到屏幕的距离
d_screen=float(1.0)ym=5.0*wavelength*d_screen/d_slit
xs=ym
distance=ym/50.0
ys=np.arange(-ym,ym,distance)
len_dis=len(ys)
B = [([0.0] * len_dis) for i in range(len_dis)]
Br = [([0.0] * len_dis) for i in range(len_dis)]
N=255.0
for i in range(0,len_dis):r1=math.sqrt((ys[i]-d_slit/2)**2+d_screen**2)r2=math.sqrt((ys[i]+d_slit/2)**2+d_screen**2)phi=2.0*math.pi*(r2-r1)/wavelengthtemp=4.0*math.cos(phi/2)**2for j in range(0,len_dis):B[i][j]=tempBr[i][j]=B[i][j]/4.0*Nplt.title("double_slit_experiment")
plt.imshow(Br, cmap='gray')
plt.show()


结束!

使用python模拟光的双缝干涉相关推荐

  1. 【光学】 基于matlab模拟光的双缝干涉附GUI

    1 简介 物理光学研究的主要现象为光的干涉.光的衍射和光的偏振.其中杨氏双缝干涉理论在光的干涉教学中占有很重要的地位.由于物理光学从光的微观上来 理解光的本质,因此比较抽象.如果不借助于实验现象,学生 ...

  2. python大数据结课报告_2020知到大数据分析的PYTHON基础结课答案

    2020知到大数据分析的PYTHON基础结课答案 房产新闻 2020-10-02 02:28128未知admin 2020知到大数据分析的PYTHON基础结课答案 更多相关问题 Mike is so ...

  3. python画矢量图_使用基于matplotlib的SciencePlots绘制精美图表

    开源项目地址:https://github.com/garrettj403/SciencePlots 安装这个包,需要输入魔法: pip install SciencePlots 例如绘制如下函数,导 ...

  4. Python光的干涉仿真

    文章目录 双缝干涉原理 Python代码 其他干涉模型 双缝干涉原理 干涉即两束光在叠加过程中出现的强度周期性变化情况,其最简单的案例即为杨氏双缝干涉. 如图所示,光从 S S S点发出,通过两个狭缝 ...

  5. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  6. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  7. 【Kaggle Learn】Python 5-8

    五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...

  8. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  9. 使用python愉快地做高数线代题目~

    今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...

最新文章

  1. office excel Query 功能
  2. ubuntu websocket python2
  3. python培训班时间 费用-广州python培训班收费标准
  4. 21 岁理工男开源的这个编辑器火了!
  5. python模块、字符编码、文件读写
  6. springboot 增加prometeus监控
  7. Java黑皮书课后题第10章:**10.9(Course类)如下改写Course类
  8. 具有Rx-Java的Couchbase Java SDK
  9. 怎么避免options请求_和上级沟通的正确打开方式:3种技巧,轻松让领导答应你的请求...
  10. MYSQL学习笔记 (二)对数据库结构的增删改查
  11. 兵乓球- 经典街机游戏-python小游戏源码下载
  12. PCB封装下载方法(亲测有效)
  13. java.this的作用包括,智慧职教: 以下不是Java中this关键字的作用的是()。
  14. 考PRINCE2有用么?
  15. “00后”消费数据分析,一文教你撩动“00后”购物欲
  16. 为什么要报考系统架构设计师考试
  17. comtrol 终端服务器,终端服务器:远程控制台管理———终端服务器
  18. 互联网产品经理是做什么的
  19. mac外接显示器 竖屏 黑苹果_mac外接显示器 竖屏 黑苹果_Mac 外接显示器转自定义HiDPI分辨率教程...
  20. static变量有什么作用

热门文章

  1. 工信部备案查询验证码输入错误的原因
  2. 双屏,ppt只在一个显示器上放映
  3. 为anaconda添加清华源
  4. 用简单的办法在c++程序做一个老板键(万能老板键和隐藏固定程序的老板键)
  5. 简单的老板键功能的实现
  6. Java真假金币_2018年熊猫金币如何辨别真假?
  7. 解决数据库插入不了中文的问题
  8. SQL新手常见问题001:1292 incorrect date value
  9. Retry count exceeded; starting again 解决方法
  10. python:第一天作业