问题标签 [quad]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
266 浏览

scipy - 将符号表达式转换为数字一以用于四边形 - 使用lambdify?

我想将包含符号变量的表达式转换为数字表达式,以便随后可以在积分方法“quad”中使用该表达式。

代码运行到这里并返回正确的函数fAfA是一个符号值表达式,我想将其传递给 quad 以在 (over ktsq)上执行积分

我的理解是,这失败了,因为 的第一个参数quad,即函数,是符号类型,而不是 quad 所需的数字(=浮点)。如何使函数数字化,从而允许我执行积分?我已经尝试过.subs运行lambdify但无法正常工作。前者似乎只有在提供数字时才有效(NN=0.1例如,设置我不想做的例子),我尝试了以下的 lambdify

但是当我取消注释打印以检查是否一切正常时,这给出了关于位置参数数量的错误。

TypeError: <lambda>() takes 1 positional argument but 5 were given

0 投票
1 回答
1038 浏览

python - 为什么 scipy.integrate.quad 返回 0 而不是积分的正确值?

我有一个代码,它使用 scipy.integrate.quad 包作为流程的一部分。这应该会产生遵循下图中红线的值(蓝色方块)。一些蓝色方块不跟随趋势,这只能是 scipy.integrate.quad 过程中误差的导数。有谁知道为什么 quad 包可能仅对某些响应失败?它可能与浮点运算或其他一些潜在问题有关吗?

注意:我之前在其他函数中看到过这个问题,我确定错误的来源是 quad 包,而不是我的代码的其余部分。

结果显示积分错误

0 投票
1 回答
199 浏览

scipy - 在具有测量误差的样条数据上使用 scipy quad 时如何传播误差?

我有一个包含 N 个点的数据集,我将其拟合为样条曲线并使用 scipy.integrate.quad 进行积分。我想使用 N 个相关的测量误差对最终的积分值进行误差估计。

我最初尝试使用不确定性包,但 x+/-stddev 对象不适用于 scipy。

有什么想法吗?

0 投票
1 回答
928 浏览

scipy - scipy integration.quad 返回不正确的值

我使用 scipy integration.quad 来计算正态分布的 cdf:

虽然它打印如下:

对于某些 x,它返回一个近似为零的值,它应该返回 1。有人可以告诉我出了什么问题吗?

0 投票
1 回答
294 浏览

python - scipy.integrate.tplquad 对大体积积分给出错误的结果

我正在尝试在所有空间上集成 3 个变量 f(x,y,z) 的函数。

当我整合小体积时,我得到了大致正确的结果。但是,当我增加积分量时,python 说积分为零。

我相当有信心,这里的问题是函数 f 仅在空间的一小块区域中不为零,并且当积分量很大时,tplquad 在该区域上的采样不足。我在此链接上找到了 1D 中类似问题的答案;scipy.integrate.quad 在大范围内给出错误的结果。1D 中的解决方案是将参数“points”传递给 scipy.integrate.quad,这有助于 quad 专注于积分非零的区间。

我的问题是;tplquad 的“积分”是否有类似的论点?或者也许我可以通过其他方式指示 tplquad 专注于特定的空间区域?

0 投票
2 回答
476 浏览

python - 使用 scipy.integrate.quad 执行 3D 积分

提问的动机

我正在尝试在所有空间上集成一个函数 f(x,y,z)。

我尝试使用 scipy.integrate.tplquad 和 scipy.integrate.nquad 进行积分,但两种方法都将积分返回为 0(当积分应该是有限的时)。这是因为,随着积分量的增加,被积函数非零的区域被采样的次数越来越少。积分“错过”了这个空间区域。但是, scipy.integrate.quad 似乎确实能够通过更改变量来处理来自 [-infinity, infinity] 的积分......

问题

是否可以使用 scipy.integrate.quad 3 次来执行三重积分。我想到的代码如下所示:

其中 f 是函数 f(x, y, z),x_integral 应该从 x = [- infinity, infinity] 积分,y_integral 应该从 y = [- infinity, infinity] 积分,z_integral 应该从 z = [- infinity 积分, 无穷]。我知道 quad 想要返回一个浮点数,因此不喜欢在 x 上集成函数 f(x, y, z) 以返回 y 和 z 的函数(如上面代码中的 x_integral = ... 行正在尝试做)。有没有办法实现上面的代码?

谢谢

0 投票
0 回答
266 浏览

python - scipy.integrate.quad 缺少参数

我知道这听起来我只需要输入一个“a”和“b”,但据我所知,我的语法看起来是正确的。当悬停在Integrate.quad 上时,PyCharm 告诉我“预期类型'float',得到'Tuple[float, float, dict, Any, Any]'。” 当我运行代码时,它给了我一个类型错误:“quad() 缺少 2 个必需的位置参数:'a' 和 'b'。”

这是我的代码:

这是我第一次为数字信号处理编写 SEL 函数,所以不可否认,我对 python 的集成还很陌生。

0 投票
1 回答
177 浏览

python - 绘制函数时出错,包括integrate.quad

我想绘制一个包含在其中的函数integrate.quad。该函数在区间内具有真正的浮点值。

但我收到此错误:

错误:提供的函数没有返回有效的浮点数。

我不知道函数具有正确浮点值的原因,我用[0].

0 投票
1 回答
89 浏览

python - python quad 集成似乎不准确

我对 python 有点陌生,正在尝试对一个函数进行数字集成。一切似乎都有效,但我得到的结果与我在 Mathematica 中得到的结果大不相同(我知道这是正确的)。有人可以帮我弄清楚发生了什么吗?

这是代码:

例如,如果我计算强度(0),我在 python 中得到 0.0001580120220796804,在 Mathematica 中得到 0.000158898。在 0.5% 以内,所以看起来还可以。但是,如果我计算强度(0.001),我在 python 中得到 1.8729902318383768e-05,在 Mathematica 中得到 0.00012034,它们相差近一个数量级。请注意,我已尝试减少绝对误差和相对误差,但这没有任何效果。

任何帮助,将不胜感激。

这是数学代码:

接着

0 投票
0 回答
82 浏览

quad - 使用 scipy.quad 集成的 Bessel 函数不起作用

我正在尝试使用 scipy.quad 积分方法在 2D 中绘制 Bessel 函数。

我的问题:情节中间只有一个小点,因为我的最低值太低了。

这是我的代码: