matlab代码sqrt
衍射
您将在这两个目录中找到计算衍射的代码:一个用于MATLAB,一个在Python中。
Python和衍射
Python代码特别简单:一个球状波的总和,在一个或多个宽度为$
a
$的狭缝上,相隔距离为$
b
$。
我们将源的坐标和振幅保存在两个单独的列表中:
sCoords
(y位置)和sAmplitudes
(复振幅)。
我们看一个距离为$
r
$的屏幕,它具有screenCoords坐标。
就这样。
这是所有代码的荣耀:
def
diffraction
(
sCoords
,
sAmplitudes
,
k
,
r
,
screenCoords
,
progressMessage
):
Efield
=
[
0
]
*
len
(
screenCoords
)
#
Initialize
with
no
field
for
a
given
r
for
j
,
y_source
in
enumerate
(
sCoords
):
A
=
sAmplitudes
[
j
]
reportProgress
(
j
,
len
(
sCoords
),
progr
评论0
最新资源