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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

: Z$ F! I* {5 W2 y. JMATLAB源程序代码分享:杨氏双孔干涉实验的MATLAB计算模拟
' J' B* U# g, [+ w! H. v4 a0 V$ P%% 定义实验的参数
  ]( d, f* O7 w8 i+ A9 a. G7 @clear;clc;close all
8 E$ f! ]' s2 i3 Ulambda=3000e-9;     % 光的波长$ P7 h  j# t8 m  K6 q' s, e
d=7e-5;             % 双孔的距离
4 K6 ~6 c. E4 QD=1.2;              % 屏幕距双孔的距离
' i8 n8 w0 g1 G; o' H& t6 \) R: _$ D& B8 {$ S
%% 定义观察屏幕的范围, 并计算各个观测点的坐标值
$ k+ J. O/ p2 Oxa=-2;           % 最小的横坐标值% ^7 p' H+ ]' j. ~% c( M
xb=2;            % 最大的横坐标值3 i$ `# y8 J' L- Q, U/ [
ya=-0.5;         % 最小的纵坐标值
1 x7 Z  h/ V+ C& iyb=0.5;          % 最大的纵坐标值: x# `. M" ^. I, A6 D# W5 K
n1=1000;         % x 方向等分份数. B& c( D9 I/ a& {4 t- S$ b( P
n2=1000;         % y 方向等分份数7 ?- V2 U7 J$ O

  x9 A: L) U8 g2 t4 i6 ~x=linspace(xa,xb,n1);     % x 坐标- J1 }" D# A3 o
y=linspace(ya,yb,n2);     % y 坐标
) P' I/ x" N# h; ]: C8 l) z[xx,yy]=meshgrid(x,y);    % 网格化处理, 得到观测点的坐标值
2 v+ d& D1 H- C# I1 E
9 |1 [  i/ j+ ?# E% b%% 计算各个观测点处的光强
; C- ]% I, P. |k=2*pi/lambda;                     % 计算波数7 g) P- ?0 B4 ~+ ]# c( R( C" w- Y
r1=sqrt((xx-d/2).^2+yy.^2+D^2);    % 观测点到孔 1 的距离
7 X7 k4 a$ d$ F  |r2=sqrt((xx+d/2).^2+yy.^2+D^2);    % 观测点到孔 2 的距离# p- q% R2 `1 G" i& z( a
I=(cos(k*r1)./r1+cos(k*r2)./r2).^2+(sin(k*r1)./r1+sin(k*r2)./r2).^2;   % 计算观测点处的光强
2 Z' i2 U! h  U% [' D% WI=I/(max(max(I)));     % 归一化处理
2 J+ `' L4 W8 Z8 D, m+ ~% Z6 G9 S% h
. q" T. S" v& x: j%% 绘制杨氏双孔干涉条纹
, U8 z* K0 q+ [, w7 {figure
) _4 [6 m1 @3 O3 ~set(gcf,'units','normalized','position',[0.2 0.2 0.6 0.6]);  % 设置 figure 窗口的位置和尺寸" x2 Y8 ?; h' x7 ?- s- `8 q
subplot(2,1,1)
9 I+ }; @, x0 O1 C# N0 I/ Oimage([xa xb],[ya yb],I*255)     % 显示条纹在屏幕上的二维图像
: w; a- V; i2 o; R9 M2 rcolormap(gray(255))              % 图像显示为黑白, 图像的灰度值为 255 级% {4 \6 C( D0 a" E: L( b3 ^; H
axis equal, H4 [: w2 L+ k; c) q. ~
axis([xa xb ya yb])
0 f3 B5 ^% [' F3 dxlabel('x (m)')4 I4 [; i2 [, A4 Z  j9 e
ylabel('y (m)'). s6 i! x' K. X, e& |
title('杨氏双孔干涉条纹')
% p2 {* V, Q; [) W2 W
! X5 F1 D" l1 A1 i% C%% 绘制光强分布的三维图
  c# J0 \9 y% Osubplot(2,1,2)6 s4 Y& N+ g9 ^' e9 n
mesh(xx,yy,I)
6 ]8 M( s: S+ N$ Nxlabel('x (m)')2 J8 |3 G. ]5 h
ylabel('y (m)')  @, W2 G1 h0 R& G" t
zlabel('光强')
& c. |, K9 S  Ptitle('光强分布')

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 01:59 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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