gpt4 book ai didi

python - 为什么较高带宽强度分布会出现噪声?

转载 作者:行者123 更新时间:2023-12-01 08:12:48 24 4
gpt4 key购买 nike

我一直在尝试通过计算方式评估以下电场:

enter image description here

它基本上是给定波长的波的总和,按波长的高斯分布的平方根加权。

我通过Python通过包scipy.integrate.quad函数对$x$的每个值执行高斯求积积分来计算它。代码如下:

# Imports
import numpy as np
import scipy as sp
from scipy import integrate

# Parameters
mu = 0.635 # mean wavelength
sigma = 0.01 # std dev of wavelength distribution
# wl is wavelength
x_ara = np.arange(0, 1.4, 0.01)

# Limits of Integration
lower, upper = mu - 4*sigma, mu+4*sigma
if lower < 0 :
print('lower limit met')
lower = 1e-15 # cannot evaluate sigma = 0 due to singularity for gaussian function

# Functions
def Iprofile_func(wl, mu, sigma):
profile = np.exp(-( ((wl-mu) / (np.sqrt(2)*sigma))**2))
return profile

def E_func(x_ara, wl, mu, sigma):
return np.sqrt(Iprofile_func(wl, mu, sigma)) * np.cos(2*np.pi/wl * (x_ara))

# Computation
field_ara = np.array([])
for x in x_ara:
def E(wl):
return E_func(x, wl, mu, sigma)

field = sp.integrate.quad(E, lower, upper)[0]
field_ara = np.append(field_ara, field)

我固定了 $\mu$ = 0.635 的值,并对 $\sigma$、$\sigma$ = 0.01 和 $\sigma$ = 0.2 两个值执行了相同的计算。我得到的阵列,我在下面绘制了,上面的图是波长分布,而下面的图是计算的场阵列:

enter image description here

为什么当 sigma 值增大时,计算域中会出现噪声?

最佳答案

对于较大的 x,即使 lambda 的微小变化也会导致被积函数快速波动。在某些时候,数值积分例程要么需要非常非常长的时间才能收敛,要么不会考虑足够多的积分点,因此每个积分点的贡献不会完全抵消,并且会准确地显示您看到的噪声。当我运行代码时,我实际上从 scipy 收到有关达到限制的警告(“IntegrationWarning:已达到最大分割数 (50)。”)。

好处是:您知道,对于足够大的 x,积分必须为零。没有必要在合理范围之外进行计算。

示例:

x = 10,mu = 0.635,西格玛 = 0.01

积分范围为 mu+/-4sigma = [0.595, 0.675]

2Pi/0.595*10=105.6, 2Pi/0.675*10=93.08

这意味着被积函数在 x=10 的波长范围内大约有两次振荡。

x = 100,其他一切相同

这意味着被积函数在波长范围内有 20 次振荡。

x = 10,mu = 0.635,西格玛 = 0.1

积分范围为 mu+/-4sigma=[0.235, 1.035]

2Pi/0.235*10=267.37, 2Pi/1.035*10=60.71

这意味着被积函数在 x=10 的波长范围内有 33 次振荡。

x = 100,其他一切相同

这意味着被积函数在波长范围内有 329 次振荡。

如果 x 或 sigma 变大,则需要越来越多的积分点。因此,没有其他选择可以增加 scipy.integrate 中的限制以获得更大的 x。

关于python - 为什么较高带宽强度分布会出现噪声?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55137210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com