| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
, s+ R$ |1 t% R 
MATLAB源程序代码分享:杨氏双孔干涉实验的MATLAB计算模拟 
: L9 q6 D3 S7 j0 h0 S( S%% 定义实验的参数8 g9 ~+ p. Q" s 
clear;clc;close all4 j% L2 L5 n. P 
lambda=3000e-9;     % 光的波长 
( f: R9 E: X# p# V5 l- X8 D" r7 F5 p. bd=7e-5;             % 双孔的距离2 W5 l( ^* c  g" Z. A& Y# _ 
D=1.2;              % 屏幕距双孔的距离9 I+ ]& k% C7 Z0 [* J5 N  u 
5 Z4 N* D. g: }; `( q+ i 
%% 定义观察屏幕的范围, 并计算各个观测点的坐标值3 j6 t4 Z% s0 z( k2 H) z( u 
xa=-2;           % 最小的横坐标值" P: F! Q% T7 U 
xb=2;            % 最大的横坐标值 
% ?* H2 F: p/ q; ?3 x# L5 h' O( eya=-0.5;         % 最小的纵坐标值 
6 M8 f2 N2 I& f, h  d: i6 q/ myb=0.5;          % 最大的纵坐标值  X7 |' a, c1 I: I 
n1=1000;         % x 方向等分份数 
6 [9 e; U" F- c. \) F+ yn2=1000;         % y 方向等分份数 
' B- o9 t/ c% h6 W9 x: f; V5 K6 \! b% f5 x 
x=linspace(xa,xb,n1);     % x 坐标 
6 P+ H( y9 o" S3 f& ~y=linspace(ya,yb,n2);     % y 坐标# t; @8 U/ q$ I2 H( h( [7 v 
[xx,yy]=meshgrid(x,y);    % 网格化处理, 得到观测点的坐标值! {+ e5 s1 R) {8 I/ J! O0 @% Z 
 
; `6 q( b% Z% x# B6 {, [7 s9 B%% 计算各个观测点处的光强0 b7 F5 J2 ]( b7 ]4 j$ I 
k=2*pi/lambda;                     % 计算波数8 C% o/ M4 o8 C( i6 ?1 q( P 
r1=sqrt((xx-d/2).^2+yy.^2+D^2);    % 观测点到孔 1 的距离' T/ H! L! a6 O6 ^- L; [1 c  | 
r2=sqrt((xx+d/2).^2+yy.^2+D^2);    % 观测点到孔 2 的距离 
+ H) T: n" }; G7 U# UI=(cos(k*r1)./r1+cos(k*r2)./r2).^2+(sin(k*r1)./r1+sin(k*r2)./r2).^2;   % 计算观测点处的光强4 I' l0 t" S& }4 Q7 X# b" x7 B9 _ 
I=I/(max(max(I)));     % 归一化处理 
5 D4 b7 d* S% E5 V 
$ m! N7 F8 _+ I%% 绘制杨氏双孔干涉条纹1 ^, p& w/ n5 a) J8 C3 s/ h 
figure2 A! b5 B/ Y# X 
set(gcf,'units','normalized','position',[0.2 0.2 0.6 0.6]);  % 设置 figure 窗口的位置和尺寸5 ^/ f3 [- k6 T. {5 y' W* u# X 
subplot(2,1,1)3 c& \; \- I- c- Y, Y9 S9 L' Q 
image([xa xb],[ya yb],I*255)     % 显示条纹在屏幕上的二维图像/ O, Z+ D- u/ S  h8 Y 
colormap(gray(255))              % 图像显示为黑白, 图像的灰度值为 255 级 
2 C0 \: ?1 k' v0 h1 X' \; Jaxis equal 
8 D/ D/ P; _9 G0 `9 V2 ~3 h# @axis([xa xb ya yb]) 
. F/ c. J  F* y1 B. G" Fxlabel('x (m)') 
3 ]; P; K. B4 B$ eylabel('y (m)'); M! Q% M. W4 w/ I- r9 G4 i4 [ 
title('杨氏双孔干涉条纹') 
9 c1 y3 o7 i, s% s8 l- r5 u+ I9 U: ?+ | 
%% 绘制光强分布的三维图 
: Y6 e& L+ X3 ]: t/ Y; L! qsubplot(2,1,2) 
7 l& I1 `: a) Q) K& G* R9 J; Fmesh(xx,yy,I) 
7 x" v/ ~4 Q' a2 |5 _7 I1 \& yxlabel('x (m)')) O3 N& y- ^) ~ 
ylabel('y (m)')% A6 V; |- D% Z9 `1 k% q" K+ W 
zlabel('光强')" I. p# ~6 U! Y3 U) r' j 
title('光强分布') |   
 
 
 
 |