python - 四倍积分功能给了我一些意想不到的零?
问题描述
我正在集成一个对数正态函数,但遇到了一些意外的零,那为什么呢?我的代码是:
from numpy import pi, log, exp
import scipy.integrate
# My function (a log-normal function)
def Fbloqueo(Xb, wXb, Xbmed):
return (
1 / (wXb * Xb * (2 * pi) ** 0.5) * exp(-1 / 2 * ((log(Xb / Xbmed)) / wXb) ** 2)
)
# some parameters
Xbmed = 20
wXb = 0.010
Xe = 80
# Integration
Magzfc1, _ = scipy.integrate.quad(Fbloqueo, 2, Xe, args=(wXb, Xbmed))
print(Magzfc1)
结果应该是 1,但我得到的结果为零。这种行为发生了很多次,这是一个问题,因为我需要乘以另一个函数才能找到 wXb 和 Xbmed。有人可以帮我理解quad函数的问题吗?
解决方案
推荐阅读
- matlab - 如何在 MATLAB 中为 4D 数据构造分段多项式(三次样条)?
- sql - 为什么这个 Oracle 查询这么慢?
- circleci - 运行测试时 circleci python -t 标志不起作用
- scala - sbt testOnly 带有标签的排除列表不起作用
- r - 具有正向参数的 R stats::step 函数未优化 LR 模型(AIC)
- typescript - 设置语言工作者重试开始计数?
- hugo - 如何获取 Hugo v0.59 中特定部分的前三个帖子?
- java - 编译后 Java Servlet 无法识别 java 文件中的更改
- python-3.x - 将数据添加到列表的嵌套列表
- mysql - 为 SQL 视图合并两行