问题标签 [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.
scipy - 将符号表达式转换为数字一以用于四边形 - 使用lambdify?
我想将包含符号变量的表达式转换为数字表达式,以便随后可以在积分方法“quad”中使用该表达式。
代码运行到这里并返回正确的函数fA
。fA
是一个符号值表达式,我想将其传递给 quad 以在 (over ktsq
)上执行积分
我的理解是,这失败了,因为 的第一个参数quad
,即函数,是符号类型,而不是 quad 所需的数字(=浮点)。如何使函数数字化,从而允许我执行积分?我已经尝试过.subs
运行lambdify
但无法正常工作。前者似乎只有在提供数字时才有效(NN=0.1
例如,设置我不想做的例子),我尝试了以下的 lambdify
但是当我取消注释打印以检查是否一切正常时,这给出了关于位置参数数量的错误。
TypeError: <lambda>() takes 1 positional argument but 5 were given
scipy - 在具有测量误差的样条数据上使用 scipy quad 时如何传播误差?
我有一个包含 N 个点的数据集,我将其拟合为样条曲线并使用 scipy.integrate.quad 进行积分。我想使用 N 个相关的测量误差对最终的积分值进行误差估计。
我最初尝试使用不确定性包,但 x+/-stddev 对象不适用于 scipy。
有什么想法吗?
scipy - scipy integration.quad 返回不正确的值
我使用 scipy integration.quad 来计算正态分布的 cdf:
虽然它打印如下:
对于某些 x,它返回一个近似为零的值,它应该返回 1。有人可以告诉我出了什么问题吗?
python - scipy.integrate.tplquad 对大体积积分给出错误的结果
我正在尝试在所有空间上集成 3 个变量 f(x,y,z) 的函数。
当我整合小体积时,我得到了大致正确的结果。但是,当我增加积分量时,python 说积分为零。
我相当有信心,这里的问题是函数 f 仅在空间的一小块区域中不为零,并且当积分量很大时,tplquad 在该区域上的采样不足。我在此链接上找到了 1D 中类似问题的答案;scipy.integrate.quad 在大范围内给出错误的结果。1D 中的解决方案是将参数“points”传递给 scipy.integrate.quad,这有助于 quad 专注于积分非零的区间。
我的问题是;tplquad 的“积分”是否有类似的论点?或者也许我可以通过其他方式指示 tplquad 专注于特定的空间区域?
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 = ... 行正在尝试做)。有没有办法实现上面的代码?
谢谢
python - scipy.integrate.quad 缺少参数
我知道这听起来我只需要输入一个“a”和“b”,但据我所知,我的语法看起来是正确的。当悬停在Integrate.quad 上时,PyCharm 告诉我“预期类型'float',得到'Tuple[float, float, dict, Any, Any]'。” 当我运行代码时,它给了我一个类型错误:“quad() 缺少 2 个必需的位置参数:'a' 和 'b'。”
这是我的代码:
这是我第一次为数字信号处理编写 SEL 函数,所以不可否认,我对 python 的集成还很陌生。
python - 绘制函数时出错,包括integrate.quad
我想绘制一个包含在其中的函数integrate.quad
。该函数在区间内具有真正的浮点值。
但我收到此错误:
错误:提供的函数没有返回有效的浮点数。
我不知道函数具有正确浮点值的原因,我用[0]
.
python - python quad 集成似乎不准确
我对 python 有点陌生,正在尝试对一个函数进行数字集成。一切似乎都有效,但我得到的结果与我在 Mathematica 中得到的结果大不相同(我知道这是正确的)。有人可以帮我弄清楚发生了什么吗?
这是代码:
例如,如果我计算强度(0),我在 python 中得到 0.0001580120220796804,在 Mathematica 中得到 0.000158898。在 0.5% 以内,所以看起来还可以。但是,如果我计算强度(0.001),我在 python 中得到 1.8729902318383768e-05,在 Mathematica 中得到 0.00012034,它们相差近一个数量级。请注意,我已尝试减少绝对误差和相对误差,但这没有任何效果。
任何帮助,将不胜感激。
这是数学代码:
接着
quad - 使用 scipy.quad 集成的 Bessel 函数不起作用
我正在尝试使用 scipy.quad 积分方法在 2D 中绘制 Bessel 函数。
我的问题:情节中间只有一个小点,因为我的最低值太低了。
这是我的代码: