找回密码
 注册
关于网站域名变更的通知
查看: 472|回复: 1
打印 上一主题 下一主题

MATLAB源程序代码分享:杨氏双孔干涉实验的MATLAB计算模拟

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-19 11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
' W  p0 ]- z: L; H7 L
MATLAB源程序代码分享:杨氏双孔干涉实验的MATLAB计算模拟+ x( q9 i  ~/ T2 N
%% 定义实验的参数+ y  Z: D, \, o: p. e
clear;clc;close all" b0 s6 d. B/ K" g# ~/ k- e! U
lambda=3000e-9;     % 光的波长
; J5 k3 k5 j/ E/ F' kd=7e-5;             % 双孔的距离
" `- g- F" @7 eD=1.2;              % 屏幕距双孔的距离1 C+ q7 T$ @3 o# u) [; f! o5 \3 G

7 ?$ A4 k9 g# |! ~/ N1 T%% 定义观察屏幕的范围, 并计算各个观测点的坐标值( g; X& R" I! d0 H* W  H1 G
xa=-2;           % 最小的横坐标值
: e% @5 b3 z3 q: wxb=2;            % 最大的横坐标值3 V0 z6 t5 [; F& k4 V
ya=-0.5;         % 最小的纵坐标值
" i' }- Z" T( e8 @1 ryb=0.5;          % 最大的纵坐标值
7 r1 j' S) P3 b0 _n1=1000;         % x 方向等分份数
1 |- U+ v/ ?0 T% jn2=1000;         % y 方向等分份数3 I6 V5 H* q9 y4 {/ i. v& D' n* ~
" m; y2 D3 n" |4 U. J1 ?3 P9 E
x=linspace(xa,xb,n1);     % x 坐标) k( e/ v, R4 u$ o
y=linspace(ya,yb,n2);     % y 坐标2 T# X/ R; {" L  x
[xx,yy]=meshgrid(x,y);    % 网格化处理, 得到观测点的坐标值
2 y: f3 C# c, i' S
/ R: w& \, S2 J# L%% 计算各个观测点处的光强
; i% D8 i/ I" f' _/ j  hk=2*pi/lambda;                     % 计算波数
5 Z) g, G( {. I5 f9 Kr1=sqrt((xx-d/2).^2+yy.^2+D^2);    % 观测点到孔 1 的距离
( w! w. ]* K9 `# ]r2=sqrt((xx+d/2).^2+yy.^2+D^2);    % 观测点到孔 2 的距离
; O" k$ S5 o0 p& K9 p6 P# yI=(cos(k*r1)./r1+cos(k*r2)./r2).^2+(sin(k*r1)./r1+sin(k*r2)./r2).^2;   % 计算观测点处的光强: f) W) e9 F+ a5 ]: o5 P
I=I/(max(max(I)));     % 归一化处理
0 X8 d( b4 {+ C9 D2 t- S) v9 a: ~* K8 m' M
%% 绘制杨氏双孔干涉条纹
' f8 V7 |( r5 u' H8 F( T# zfigure
3 M5 F  r. X9 b( D6 _( |set(gcf,'units','normalized','position',[0.2 0.2 0.6 0.6]);  % 设置 figure 窗口的位置和尺寸
& d$ k/ F, w$ n8 Xsubplot(2,1,1)
; O) ?/ C; |/ N$ _& |) d7 Rimage([xa xb],[ya yb],I*255)     % 显示条纹在屏幕上的二维图像+ F9 S9 P. e) W5 |5 T8 Z
colormap(gray(255))              % 图像显示为黑白, 图像的灰度值为 255 级
. l6 S+ b; A3 t5 v+ A/ naxis equal# Z8 k. a, r2 z/ R* F
axis([xa xb ya yb])
1 {* U3 d' ~9 Wxlabel('x (m)')* I5 F5 m& \" C2 K) M, q
ylabel('y (m)')
& O# }& e* D7 e: I1 }title('杨氏双孔干涉条纹')
) s! u( r2 H0 J& a
& ]0 m3 i6 N2 D2 ]4 [+ F4 n5 L9 ?3 w%% 绘制光强分布的三维图& C2 H2 E7 z2 \! |" |8 g% w/ F
subplot(2,1,2)
7 E- S; s, V" S  m, M; Nmesh(xx,yy,I): W. [  `7 D% o$ E6 G
xlabel('x (m)')
* p. |3 o& \9 D: n3 X  s. ~ylabel('y (m)')% X, z) i) B& z* ~& O
zlabel('光强'). n' a# g, T$ h7 a2 v1 B3 a$ @" A
title('光强分布')

该用户从未签到

2#
发表于 2020-3-19 18:16 | 只看该作者
杨氏双孔干涉实验的MATLAB计算模拟1 N5。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 00:10 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表