【问题标题】:Using the same function in scipy quad and dblquad在 scipy quad 和 dblquad 中使用相同的函数
【发布时间】:2017-08-11 20:31:51
【问题描述】:

我正在尝试让一个 lambda 函数同时与 scipy 的 quad 和 dblquad 命令一起使用。在我正在做的事情的上下文中,积分将始终是单个变量,但具有变量界限。

这是我得到的:

import scipy.integrate as inte

df1 = lambda x: x
df2 = lambda x,y: x

inte.quad(df1,0,10)[0]

inte.dblquad(df2,0,10,lambda x: 0, lambda x: x)[0]

在上面的代码中,df1 和 df2 实际上是相同的东西,但是要使代码正常工作,需要表面的第二个参数。理想情况下,我希望 quad 和 dblquad 都只使用一个 lambda 函数,但无论如何我都不知道要让它工作。有人知道解决方案吗?

【问题讨论】:

  • 嗨。我意识到这个问题已经有几年了,但我也有同样的问题。您是否找到了解决方案,如何对具有单个变量的函数执行双重积分(两次积分)?
  • 嘿,我从来没有真正找到一个好的答案,我不认为。如果我没记错的话,我创建了一个函数,它有一个 try, catch 块,首先使用单个变量运行该函数,然后如果它出错,将尝试使用未使用的第二个变量。这满足了我的需要,但写起来仍然感觉很糟糕......

标签: python python-2.7 lambda scipy


【解决方案1】:

你不能。 dblquad 需要两个变量的函数。

【讨论】:

  • 您是否知道如何将函数与单个变量集成两次?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-06
  • 1970-01-01
  • 2012-08-07
  • 1970-01-01
  • 2014-11-28
  • 1970-01-01
  • 2017-05-30
相关资源
最近更新 更多