- 2024-07-18
-
发表了主题帖:
用MATLAB验证折射定律
用MATLAB验证折射定律
折射定律,又称斯涅尔定律(Snell’s Law)。简单描述为:光线的入射角和折射角的正弦之比,为一常数。可写为:
sinθ1*n1=sinθ2*n2
式中,θ1/θ2分别是入射角和出射角,n1/n2分别是介质1和介质2的折射率。
要证明这个定律,有多种方法。本文采用费马原理,通过MATLAB进行计算。
费马原理提出:光线的传播路径,满足平稳时间原理。也就是时间变化最平稳的路径。光的传播速度V=C/n, 即:光线在不同介质中的传播速度不同。
图一
如图一,光线由P点经过Xi点,由介质n1进入介质n2,达到Q点。按照费马原理计算xi的位置,从而验证折射定律。P点到Q点的时间为:
可以通过MATLAB画出(T,x) 曲线,可以看出,该曲线中,T只有最小值。找出最小值对应的x值,便可以得出唯一入射点。
图二是计算得出的结果。
条件为:a=2; b=2; l=8; n1=1; n2=1.8;
图二
图三是连接光路的图。
图三
通过简单计算,可以验证折射定律: sinθ1*n1=sinθ2*n2。
x
y
R=sqrt(x^2+y^2)
SINθ(=X/R)
n
SINθ*n
入射P
6.75
2
7.040064
0.958798113
1
0.9587981
折射Q
1.25
2
2.358495
0.52999894
1.8
0.9539981
直接通过T(x)函数对x求导,使T'(x)=0,也可以证明折射定律。
- 2024-07-05
-
发表了主题帖:
图像的傅里叶变换咨询
用MATLAB的fft函数和fftshift函数,对下图一的对角线图进行傅里叶变换,得到如图二和图三,是否正确?
原图
图一
FFT 图
图2
FFTSHIFT 图
图三
请问,图二/图三是否正确?
留言