python - 需要帮助查找和修复“RuntimeWarning:在 double_scalars 中遇到除以零”
问题描述
我收到以下警告:
RuntimeWarning: divide by zero encountered in double_scalars
我已经进行了一些搜索,但我无法弄清楚我到底在哪里或如何出错,这显然无助于我解决任何问题。任何帮助将不胜感激,谢谢。这是我的第一篇文章,如果格式不理想等,请见谅。
代码:
def integral(integrand,a,b,arg):
def real_func(x , arg):
return np.real(integrand(x,arg));
def imag_func(x,arg):
return np.imag(integrand(x,arg));
real_integral = integrate.quad(real_func , a , b , args=(arg))
imag_integral = integrate.quad(imag_func , a , b , args=(arg))
return real_integral[0] + 1j * imag_integral[0];
vintegral=np.vectorize(integral)
def f_integrand(s,omega):
sigma = np.pi / (np.pi + 2)
xs=np.exp(-np.pi*s/(2*sigma))
x1=-2 * sigma / np.pi*(np.log(xs/(1+np.sqrt(1-xs**2)) + np.sqrt(1-xs**2)))
x2 = 1-2*sigma/np.pi*(1-xs)
zeta = x2 + x1 * 1j
Vc = 1 / (2 * sigma)
theta = -1 * np.arcsin(np.exp(-(np.pi) / (2.0 * sigma) * s))
t1 = 1 / np.sqrt(1 + np.tan(theta) ** 2)
t2 = -1 / np.sqrt(1 + 1 /np.tan(theta) ** 2)
return np.real((t1 -1j * t2) / np.sqrt(zeta ** 2 - 1)) * np.exp(1j * omega * s / Vc);
t0 = time.time()
omega = 10
result = integral(f_integrand , 0 , np.inf , omega)
print (time.time())
print (result)
解决方案
推荐阅读
- swiftui - 在 ForEach 循环中删除项目会导致致命错误:索引超出范围
- android - 定期工作请求停止重复的原因是什么?
- python - Python/Pandas:仅在 string.startswith 特定字符串时应用替换
- python - 如何正确设置 sublime text?
- java - 在spring工具套件中,我们使用pom.xml添加了maven依赖,但是如图所示形状不一样,这是为什么呢?
- python - 正则表达式:查找字符串是否包含整个单词还是前缀
- php - 如何允许用户名使用特殊字符?
- wordpress - wp-login.php 上的 Wordpress + Nginx 404
- go - Kubernetes 集群权限,用于观察部署不接收事件
- javascript - 如何遍历json数据并获取特定的键值