【问题标题】:How to integrate a 3D function in Python? [closed]如何在 Python 中集成 3D 函数? [关闭]
【发布时间】:2021-03-23 09:15:13
【问题描述】:

我正在编写一个脚本,允许执行涉及积分的特定数学运算。对于单积分,我使用scipy.integrate.quad。但在某些情况下,我想要执行三元多元积分,如下所示:

在大多数情况下,变量不应该超过 3 个,而且我愿意使用不超过三重积分的东西。有谁知道任何包、函数甚至脚本可以让我解决所示方程之类的问题?

【问题讨论】:

  • 请从intro tour 重复on topichow to ask。 “告诉我如何解决这个编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后然后就您的算法或技术提出一个具体的问题。 Stack Overflow 无意取代现有的文档和教程。
  • 你看scipy.integrate.tplquad了吗?请注意,准确性可能非常低。当你增加网格大小时,事情会变得非常缓慢。

标签: python numpy math scipy integral


【解决方案1】:

Scipy 的integrate 模块有scipy.integrate.dblquadscipy.integrate.tplquad,与您已经在使用的quad 函数非常相似,但允许双重/三重集成。

要求解所示方程,您可以执行以下操作:

from scipy import integrate

f = lambda x, y, z: ... # Some function to integrate
x1 = lambda y, z: ...   # Lower boundary for x
x2 = lambda y, z: ...   # Upper boundary for x
y1 = lambda z: ...      # Lower boundary for y
y2 = lambda z: ...      # Upper boundary for y
z1 = 0
z2 = 1

integral = integrate.tplquad(f, z1, z2, y1, y2, x1, x2)
print(integral)

【讨论】:

  • 非常感谢!我不敢相信我还没有听说过/使用过这些。这绝对解决了我的问题。
  • 很高兴我能帮上忙! :) @A.Fattal
猜你喜欢
  • 2015-05-13
  • 1970-01-01
  • 2018-02-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多