问题标签 [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.
python - 数组上的三重积分python
我有以下三重积分:
数据为:t 一维数组(大小 124)、pr 一维数组(大小 10)、lat 一维数组(241)和 lon 一维数组(大小 480) V 四维数组(124、10、241、480)
我想在每个 lat 上整合 v over t、pr 和 lon 所以,我使用了以下代码:
但我得到了错误:
ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
tplquad 的工作原理仍然让我感到困惑。对使用 tplquad 或其他功能进行积分有任何帮助吗?
python - 当要集成的功能也是一个整体时,scipy.integrate.quad 失败(有时)
我sqipy.integrate.quad
用来计算双积分。基本上我正在尝试计算 exp[-mu_wx_par] 的积分,其中 mu_wx_par 也是一个积分。
我的代码大部分都有效。但是,对于某些值,它会失败,即它返回不正确的值。
的值estimate_42
不正确。它应该与 的值大致相同rough_estimate_42
。但是请注意,这estimate_43
看起来不错。这里发生了什么?
我正在使用 scipy v1.1.0 和 numpy v1.15.1 和 Windows。
有人建议该函数几乎在任何地方都接近于零,因为在这篇文章中scipy integration.quad return an wrong value。情况并非如此,因为tpx_wx
for x=42
from a=0
to的简单情节b=125-42
清楚地表明
python - 无法与 dblquad 集成
所以我想在其中集成一个带有常量的双积分,比如a、b等,用户可以在其中分配这个常量的值:
积分的极限是 x[0,1] 和 y[-1,2]
但我得到这个错误,我不明白为什么:
我不明白。因为当我做同样的事情但使用 quad() Python 时,它是正确的:
结果:
python - 如何在 Python 的 scipy.integrate.quad 中使用参数 epsabs?
我试图通过指定参数epsabs
来更精确地计算积分scipy.integrate.quad
,比如我们正在将函数sin(x) / x^2从 1e-16 积分到 1.0
这给了我们
为了使结果更精确,我们指定了绝对误差容限epsabs
结果一模一样,误差还是0.0109那么大!我理解参数epsabs
错误吗?我应该做些什么来提高积分的精度?
python - 与数组参数积分时如何修复“只有长度为1的数组可以转换为Python标量”
我正在使用 scipy.integrate 中的 quad 从对象获取有限范围内的积分。假设目标对象处于打击中:
其中 A 和 B 都是 numpy 矩阵。
为了解决这个问题,我使用了打击代码:
但是对于结果,我得到了这个错误:
我知道当函数需要单个值但您传递一个数组时,会引发错误“只有长度为 1 的数组可以转换为 Python 标量”。但我的问题是基于数组。那么我该如何解决它。
python - 无限极限四次定积分
其中,g 是一个常数,并且 \mu = 0,但我收到了一个警告,结果并不完全是应该的。
这是代码:
这是我得到的结果:
情节给出:
对于大于 1e4 的 T 值是问题开始的地方。在这个值之后它应该几乎保持不变,但是你可以看到它显示的可怕的峰值。我尝试修改 epsabs 和 epsrel 但没有奏效。我试图拆分积分限制,显然从 E = m 到 1e4 它工作正常,但是当它从 E = 1e5 积分到无穷大时又会出现问题。
当我打印积分的结果时,它给出了 nn 的荒谬值(它可以从 5.454320597790705e+17 变为 -3085930898.2363224)。我不知道还能做什么。提前致谢!
python - 加快 scipy quad 集成(跳过 check_bounds 和 _asarray_validated?)
我scipy.integrate.quad
为不同的集成(x 和 y 值)调用了大约 500 次。这总共需要 46 秒。但是,19 秒是_evaluate._check_bounds
单独使用的,又_prepare_x._asarray_validated
占用了 11 秒。
我可以以某种方式跳过这些检查并在 16 秒内执行相同的操作吗?
python - 使用 numpy.random.exponential 抽取 10,000,000 个 X 样本来估计支出的预期值
假设车祸所涉及的损失金额是一个指数随机变量,平均值为1000。其中,保险公司只支付超过免赔额400的金额。如果X是代表损失金额的随机变量,则保险赔付为 max(X-400,0)。
我正在尝试使用 scipy 的 quad 函数来评估 max(x-400) 的 0 和无穷大之间的积分
这是更好地可视化的链接:https ://imgur.com/a/XIglH8i
我需要使用蒙特卡罗模拟来验证 670.32 的答案,并且我相信我需要使用 numpy 的 .random.exponential 函数来绘制 10,000,000 个 X 样本。
如前所述,我正在尝试使用 scipy 的四边形来定义积分,但我正在苦苦挣扎的是如何合并重复的循环数,以使 X 被绘制 10,000,000 次。我希望 for 循环效率极低,因此相信使用矩阵操作进行广播可能是更有效的解决方案。不幸的是,这超出了我的编程经验水平,并且可以真正使用一些帮助:有效地收集 X 的样本,然后 2,将其合并到评估 X 积分的函数中,将其存储在一些数据结构中,并重复该过程 10,000,000 次
如何定义我的函数以获取指数数量的变量并存储它们以重复该过程?
结果应该是 ~= 670.32
python - 如何使用`scipy.integrate.quad`计算依赖于另一个函数积分的函数的积分
计算此积分的任何帮助,F
函数都使用f
涉及第一次积分的函数定义,最后是积分F
。
得到错误: